Mam arkusz spredsheet na Excelu i muszę zdobyć liczbę przedmiotów z rzędu, coś takiego:
Item1 | Qty1 | Item2 | Qty2 | Item3 | Qty3 | ... | ItemZ | QtyZ |
Do drugiego arkusza muszę wypełnić tymi danymi, ale tylko dwiema kolumnami (przedmioty i ilości).
Czy jest jakiś sposób na to? Jestem raczej rozwiązaniem, które wykorzystuje DGET
lub VLOOKUP
(wydaje się szybszy), chociaż każdy możliwy sposób na to bardzo mnie ucieszy: D
Próbowałem użyć funkcji pętli, używając Find + przenieś w lewo + skopiuj i wklej ilość. Problem polegał na tym, że trwało to jak zawsze (plus mój Excel rozbił się kilka razy).
Więc ludzie, moglibyście mi pomóc?
Odpowiedzi:
0 dla odpowiedzi № 1Jeśli dobrze zrozumiałem, czego szukasz, to tutaj jest coś podstawowego, aby zacząć (to jest w VBA, nie używasz funkcji Excela, ale masz nadzieję, że wpadniesz na pomysł):
Public Sub CopyDown()
Dim i As Long
Dim j As Long
j = 1
For i = 1 To Sheet1.Cells(1, Sheet1.Columns.Count).End(xlToLeft).Column Step 2
Sheet2.Cells(j, 1) = Sheet1.Cells(1, i)
Sheet2.Cells(j, 2) = Sheet1.Cells(1, i + 1)
j = j + 1
Next i
End Sub
To nie jest strasznie odporne, ponieważ nie ma błędusprawdzanie, ale powinno działać dla opisywanego przypadku. Zakłada, że elementy są rozmieszczone w rzędzie 1 w kolumnach nieparzystych (1, 3 itd.), a ilości w parzystych kolumnach (2, 4 itd.) w „Arkuszu1 „. Następnie są kopiowane do rosnących wierszy (od 1 roku) w kolumnach A (dla pozycji) i B (dla ilości) w„ Arkuszu2 ”Daj mi znać, jeśli potrzebujesz więcej wyjaśnień.