/ Aninhado / Duplo para Loops no Excel VBA - excel, vba

Duplo Aninhado por Loops no Excel VBA - excel, vba

Eu estou tentando configurar um código que primeiro 1.) itere através de uma lista e substitua valores em determinadas células e depois 2.) copie e cole valores em uma lista

Então, um exemplo inventado:

 Column A     Column B
NY          500
CA          1000
GA          200

Eu tenho um loop for para percorrer a coluna A (parasubstitua valores nas células D4, D5, D6 por NY e CA e GA), mas preciso de um segundo para loop que copie e cole esses valores na coluna B, um de cada vez (por exemplo, copie e cole o valor em B1 em B1 após o primeiro substituição de NY, depois B2 em B2 após a substituição de CA, depois B3, etc)

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

Respostas:

1 para resposta № 1

Eu acho que é isso que você está pedindo ... nesse caso, tudo pode ser feito em um único loop - sem a necessidade de um loop aninhado.

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