/ / Doppelte Verschachtelung für Schleifen in Excel VBA - Excel, vba

Double geschachtelt für Schleifen in Excel VBA - Excel, VBA

Ich versuche einen Code einzurichten, der zuerst 1.) eine Liste durchläuft und Werte in bestimmten Zellen ersetzt und dann 2.) Werte in eine Liste kopiert und einfügt

Also ein erfundenes Beispiel:

 Column A     Column B
NY          500
CA          1000
GA          200

Ich habe eine for-Schleife zum Durchlaufen der Spalte A (bisErsetzen Sie die Werte in den Zellen D4, D5, D6 durch NY und dann CA und dann GA). Ich benötige jedoch eine zweite for-Schleife, die diese Werte in Spalte B kopiert und nacheinander einfügt (z. B. den Wert in B1 nach dem ersten in B1 einfügen Ersetzen von NY, dann B2 in B2 nach dem Ersetzen von CA, dann B3 usw.)

Sub Macro2()

Dim x As Integer
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
Range("A1").Select
For x = 1 To NumRows
Range("D4") = ActiveCell
Range("D5") = ActiveCell
Range("D6") = ActiveCell
ActiveCell.Offset(1, 0).Select
Next

End Sub

Antworten:

1 für die Antwort № 1

Ich denke, das ist es, wonach Sie fragen ... In diesem Fall kann alles in einer einzigen Schleife ausgeführt werden.

Sub MM()

For i = 1 To Cells(1, 1).End(xlDown).Row
"// Assign the value of Cells(i, 1) [1 = column number] to the range D4:D6.
[D4:D6] = Cells(i, 1).Value
"// This is the same as copy -> paste values. Change the "2" for different column
Cells(i, 2).Value = Cells(i, 2).Value
Next

End Sub