Hallo zusammen,
ich möchte aus einer Liste (mit den Spalten "Name" und "Typ") aus einem Sheet je nachdem welchen Typ er hat, den Namen des Items in die nächste freie Spalte in einer bestimmten Range einfügen. Dazu verwende ich diesen Code
Sub TestProblem()
'Dim range1 As Range
Set range1 = ThisWorkbook.Worksheets("Tabelle1").Range(Cells(4, 2), Cells(4, 6))
EndeTB1 = ThisWorkbook.Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
MsgBox (EndeTB1)
For i = 1 To EndeTB1
If ThisWorkbook.Worksheets("Tabelle2").Cells(i, 2) = "1" Then
EndeTB2 = range1.End(xlToRight).Column
MsgBox ("1: " & EndeTB2)
ThisWorkbook.Worksheets("Tabelle1").Cells(4, EndeTB2 + 1) = ThisWorkbook.Worksheets("Tabelle2").Cells(i, 1)
End If
Next i
End Sub
Die Range geht eigentlich nur von Spalte 2 bis 6 in Zeile 4. Die Spalten 3-6 sind komplett leer, in Spalte 7 steht wieder etwas (jedoch ist diese Spalte nicht mehr in der Range drin). Beim Ausführen der Funktion wird jedoch immer die 8. Spalte befüllt, d.h. die Funktion
range1.End(xlToRight).Column
gibt immer eine 7 zurück, obwohl diese in der "range1" gar nicht definiert ist. Könnt ihr mir weiterhelfen?
Vielen Dank!
|