我对VBA的了解非常有限,所以希望我能解释一下我的目标!我试图复制一行,如果它有任何>第J栏中的0。
然后我想将这个复制的行插入到复制单元格的新行中。
我希望循环遍历整个工作表,以便重复J中值的每一行,工作表中的数据大小不一,B列中始终会有一个值,直到数据结束...
这是我失败的尝试......
Sub Copy_Cells()
For Each Objcell In ActiveSheet.Columns(10).Cells
Do
If Objcell.Value > 0 Then
Objcell.EntireRow.Select
Selection.Copy
Selection.Insert Shift:=xlDown
Exit Sub
Loop Until IsEmpty(ActiveSheet.Columns(2).Cells)
End If
Next Objcell
End Sub
答案 0 :(得分:1)
我认为这就是你要做的事。
Sub Copy_Cells()
botRow = 100
For i = botRow To 1 Step -1
If Cells(i, 10).Value > 0 Then
Rows(i).EntireRow.Copy
Rows(i + 1).Insert Shift:=xlDown
End If
Next i
End Sub
您需要设置底行,或者您可以实现已用行等的计数。
答案 1 :(得分:0)
Sub Copy_Cells()
Dim totalRow as Integer
totalRow = Activesheet.Cells(1,2).End(xlDown).Row 'Count total row from B column
For Each Objcell In Activesheet.Range("J1:J" & totalRow)
If Objcell.Value > 0 Then
Objcell.EntireRow.Select
Selection.Copy
Selection.Insert Shift:=xlDown
End If
Next Objcell
End Sub