Vorab, ich habe so gut wie keine VBA Kenntnisse.
Mein Problem:
In Tabelle1 gibt es einen Wert, der sich immer ändert, also eine Variable.
Diese Variable soll durch den unten stehenden Code in Tabelle2 mit den Werten in Spalte A verglichen werden.
Wenn er gefunden wird, soll sich der Wert in Spalte M in der selben Zeile des Wertes um den Wert 1 erhöht werden.
(Auch könnte die Schleife eigentlich abbrechen, sobald ein richtiger Wert gefunden wird, da es diesen Wert nur einmal in der Tabelle2 geben kann)
Wenn der Wert nicht gefunden wird, dann soll der Code ganz unten ausgeführt werden:
Also eine neue Zeile soll eingefügt werden + es werden ein paar Werte aus Tabelle1 übernommen.
Sub intabelle()
Dim Variable As String
Dim boo As Boolean
boo = False
Dim lngRow As Long, A As Long
'Variable kommt aus Tabelle 1
Variable = Worksheets("Tabelle1").Range("B2").Value 'Dieser Wert ändert sich immer
'Das hier soll in Tabelle 2 passieren
lngRow = Cells(Rows.Count, "A").End(xlUp).Row
Application.ScreenUpdating = False
For A = lngRow To 1 Step -1
If Cells(A, 1) = Variable Then
boo = True
Cells(A, 13).Value = Cells(A, 13).Value + 1
End If
Next
Application.ScreenUpdating = True
'Das hier soll nur passieren, wenn er oben keinen Wert in Tabelle2 Spalte A gefunden _
hat
If boo = False Then
Worksheets("Tabelle2").Rows(2).Insert Shift:=xlDown, CopyOrigin:= _
xlFormatFromRightOrBelow
Worksheets("Tabelle2").Range("A2").Value = Worksheets("Tabelle1").Range("B2")
Worksheets("Tabelle2").Range("M2").Value = 1
End If
End Sub
Jetzt habe ich zwei Probleme: Es scheint, dass die Variable nicht überschrieben werden kann:Angenomme sie bekommt erst den Wert 1, dann ändert er sich nicht mehr, egal welchen Wert ich in Tabelle1 eingebe.
Das zweite Problem ist, dass in Tabelle2 sich der Wert in Splate M nicht um 1 erhöht, wenn der Eintrag gefunden wird.
Vielleicht, weil sich die Schleife nicht auf Tabelle2 bezieht!?
(Der Code wird in Tabelle1 ausgeführt)
Schon mal vielen Dank im vorraus
Grüße
Domi