インデックス番号で行全体をコピーし、特定の条件が満たされたときに異なるインデックス番号を持つ別の行に貼り付けようとしています(問題は条件付きロジック)。私は次のようなことを考えています:Excelのマクロでインデックス番号で行をコピーして貼り付け
Sub Makro1()
Dim i As Integer
With ActiveSheet
'for looping
totalRows = .Cells(.Rows.Count, "A").End(xlUp).Row
'index of last row even after rows have been added
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
'data starts at row #3
For i = 3 To totalRows
If .Cells(i, 19).Value > 0 Then
Number = .Cells(i, 19).Value
Do While Number > 0
lastRow = lasRow + 1
'Next line doesnt do anything
.Rows(lastRow) = .Rows(i).Value
Number = Number - 1
Loop
End If
Next i
End With
End Sub
ロジックは、そのように動作しますが、行は貼り付けられません。私は一歩一歩を踏み出しましたが、問題は論理ではないと確信しています。
'TotalRows'変数と' LastRow'変数は、あなたが期待している値を与えますか? – RGA
また、 'Lastrow = lastRow + 1'行にタイプミスがあるようです。それがあなたのコードでエラーを引き起こしているのかどうかわかりません(モジュールの先頭に 'Option Explicit'を使わないと表示されません) – RGA
それはtotalrowsのように見え、lastrowは同じ行になるでしょうか? –