du prüfst nicht ob die Zelle Artikelnummer überhaupt einen Wert hat.
Not ZielZelle Is Nothing
das wird nie Nothing sein, da du vorher eine Range der Objektvariablen zuweist. Der Inhalt der Zelle wird damit nicht geprüft.
der letzteZeile und Zielzelle ist bei intelligenten Tabellen nicht notwendig. Dort gibt es listcolumns, listrows. Headerrowrange
.Range(.Cells(ZielZelle.Row + 1, ZielZelle.Column), .Cells(letzteZeile, ZielZelle.Column))
meinst du damit tbl.ListColumns("Artikelnummer").DataBodyRange ??
.Range(.Cells.Find(What:=header ....
du suchst den Header im GANZEN Blatt.(1 Mio Zellen) Und range.find() gibt auch mal Nothing zurück. Das solltest du abfangen mit if not is nothing.
ich glaube aber das diese Suche überflüssig ist.
Wenn der Header nicht "Differenz" ist, fahre fort
tbl.DataBodyRange(tbl.DataBodyRange.Rows.Count, Spalte).Value = _
.Range(.Cells.Find(What:=header, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2).Address).Value
Spalte = Spalte + 1
Was soll das denn darstellen? Was steht denn zwei Zellen neben "header", das du dann nach links schreibst?
Sag es mit eigenen Worten was da passiert und warum.
|