Letzte Zeile für vba Formeln
02.03.2005 10:41:12
Harald E
muss mal wieder auf euch hoffen.
Aus einer Liste hole ich per Spezialfilter Art.-nummern ohne doppelte und an andere Stelle kopiert. Die Zeilenanzahl ist variabel, daher brauch ich die jeweils letzte Zeile.
Daneben soll per Sverweis der dazugehörige Artikelname (aus SpalteD) sowie über Summewenn (in Spalte O) die Gesamtstückzahl (aus Spalte H) sowie die Gesamtkosten (aus Spalte I).
Ich bastle jetzt schon 2 Stunden an dem vlookup rum. Hab schon vieles ausprobiert und muss jetzt abbrechen, bevor der PC Schaden oder das Büro-Inventar nimmt ;-/
Für Summewenn ist bisher nur das Rekorder-Ergebnis da.
Hier mein Ansatz.
Sub Makro1()
Dim lRowA As Long, lRowB As Long
'Dim bereich1 As Integer, bereich2 As Integer, bereich3 As Integer
lRowA = Cells(Rows.Count, 3).End(xlUp).Row
Range(Cells(1, 3), Cells(lRowA, 3)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"M1"), Unique:=True
lRowB = Cells(Rows.Count, 13).End(xlUp).Row
bereich1 = Range("C2:D" & lRowB)
Range("N2") = "=VLOOKUP(M2,bereich1 ,2,0)"
With Range("N2:N" & lRowB)
.FillDown
.ColumnWidth = 41
End With
Range("O1") = "Stück"
Range("P1") = "Kosten"
Range("P2").FormulaR1C1 = "=SUMIF(R2C3:R26C3,RC[-3],R2C9:R26C9)"
Range("P2").AutoFill Destination:=Range("P2:P16"), Type:=xlFillDefault
Range("O2").FormulaR1C1 = "=SUMIF(R2C3:R26C3,RC[-2],R2C8:R26C8)"
Range("O2").AutoFill Destination:=Range("O2:O16"), Type:=xlFillDefault
Range("M1:P16").Copy
Range("M1").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
End Sub
Hoffe ihr könnt mir Tipps geben, wie ich die Bezeichnungen im vba-Sverweis / Summewenn richtig setze.
Gruß
Harald