Seit einiger Zeit versuch ich nun schon den VB-Code zu verstehen
und zu erlernen, bislang nur mit mäßigen Erfolg.
Das wird wohl immer wie Hund und Katze bleiben.
Folgenden Code habe ich aus dem Archiv von Hans kopiert und
ausprobiert - läuft tadellos.
Betrifft: Bei Eintrag eines "x" in Spalte F soll die jeweilige
Zeile in Tabelle 2 kopiert werden.
Tabelle 1:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iRow As Integer
If Target.Column <> 6 Then Exit Sub
If Target.Value <> "x" Then Exit Sub
With Worksheets("Tabelle2")
iRow = .Cells(Rows.Count, 1).End(xlUp).Row + _
(WorksheetsFunction.CountA(.Columns(1)) = 0) +1
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Copy . _
Cells(iRow, 1)
End With
End Sub
Nun meine Fragen dazu:
1.) In der 3.und 4.Zeile die If-Abfrage, warum der Operator
"ungleich"?
Nach meinem Verständnis kann in diesem Falle doch nur "gleich"
true ergeben und die Anweisung ausgeführt wird.
2.) Warum keine Anweisung zur Schleife? Schließlich klappert der
Code die gesamte Spalte F ab, oder übersehe ich da was.
Ich würde mich sehr freuen, wenn mir jemand den Code ein wenig interpretieren würde.
Mit freundlichen Grüßen
Karl-Heinz