ich habe eine intelligente Tabelle, in der ich mit VBA neue Einträge hinzufüge.
Die Einträge sollen auch geändert werden und dann die Daten der jeweiligen ID zurück in die Tabelle übertragen werden.
Ich erhalte aber immer die o.g. Fehlermeldung, habe mir schon Videos angeschaut, Schreibfehler geprüft etc aber ich komme nicht auf die Lösung :-(
Jetzt hoff ich sehr, dass ihr mir dabei helfen könnt. Der Fehler kommt ganz unten beim fett markierten Code.
Danke und viele Grüße
Nadine
---------------------------------------------------------------------------------------------
Option Explicit
Const ws_DB As String = "Lagerbestand"
Const ws_Eingabe As String = "Lagerbestand_Change"
Dim tbl As ListObject
Dim header As Variant
Dim Spalte As Long
Spalte = 1
Dim Zeile As Long
With Worksheets(ws_DB)
'Tabelle einlesen
Set tbl = .ListObjects(1)
'Produkt anlegen?
If Worksheets(ws_Eingabe).Shapes("img_anlegen").Visible = True Then
'Zeile hinzufügen
tbl.ListRows.Add
'Zeile definieren
Zeile = tbl.DataBodyRange.Rows.Count
'Zeilenhöhe anpassen
.Rows(Zeile + tbl.HeaderRowRange.Row).RowHeight = .Rows(tbl.HeaderRowRange.Row + 1).RowHeight
'Produkt bearbeiten?
Else
Zeile = Worksheets(ws_Eingabe).Range(Worksheets(ws_Eingabe).Cells.Find(What:="Produkt-ID", LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Address).Value
End If
End With
With Worksheets(ws_Eingabe)
'Schleife über allen Tabellenheader
For Each header In tbl.HeaderRowRange
If header = "Bestand" Or header = "verfügbar" Then
tbl.DataBodyRange(Zeile, Spalte).Value = 0
Else
tbl.DataBodyRange(Zeile, Spalte).Value = _
.Range(.Cells.Find(What:=header, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Address).Value
End If
Spalte = Spalte + 1
Next header
End With