复制公式直到空白单元格
Copy formula until blank cell
我想在 VBA 中编写代码,将公式从 range("A3:H3") 复制到这些列,直到 J 列中有数据。我试过这段代码:
Sub fill_up()
If Not IsNull(Range("J3:J30000")) Then
Range("A3:H3").Select
Selection.Copy
Range("A4:H30000").PasteSpecial xlPasteFormulas
End If
End Sub
但无论如何我都会填满列,直到 30000. 行。
我为命令按钮编写的另一个代码:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
i = 3
j = 4
If Not IsEmpty(Cells(i, 9)) Then
Range("A3:H3").Select
Selection.Copy
Cells(j, 1).PasteSpecial xlPasteFormulas
Do until j > 30000
i = i + 1
j = j + 1
Loop
End If
End Sub
但这里的公式只是粘贴到第4行
有什么建议吗?
像这样:
sub test1()
iRow = 5
Do Until not IsEmpty(cells(iRow,10))
Range(cells(3,1), cells(3,8)).Copy
Range(cells(iRow,1), cells(iRow,8)).PasteSpecial Paste:=xlPasteFormulas
iRow = iRow + 1
Loop
End Sub
这不会将任何内容复制到列 J 中包含数据的行中。如果您想包括该行以进行粘贴,那么您可以在 do 循环之后添加另一个粘贴操作作为快速 'n' 脏修复。
我建议使用 ActiveSheet.Usedrange.Rows.Count 属性.
引用包含数据的最后一个单元格
你的情况:
Range("A4:H" & ActiveSheet.UsedRange.Rows.Count)
我想在 VBA 中编写代码,将公式从 range("A3:H3") 复制到这些列,直到 J 列中有数据。我试过这段代码:
Sub fill_up()
If Not IsNull(Range("J3:J30000")) Then
Range("A3:H3").Select
Selection.Copy
Range("A4:H30000").PasteSpecial xlPasteFormulas
End If
End Sub
但无论如何我都会填满列,直到 30000. 行。 我为命令按钮编写的另一个代码:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
i = 3
j = 4
If Not IsEmpty(Cells(i, 9)) Then
Range("A3:H3").Select
Selection.Copy
Cells(j, 1).PasteSpecial xlPasteFormulas
Do until j > 30000
i = i + 1
j = j + 1
Loop
End If
End Sub
但这里的公式只是粘贴到第4行
有什么建议吗?
像这样:
sub test1()
iRow = 5
Do Until not IsEmpty(cells(iRow,10))
Range(cells(3,1), cells(3,8)).Copy
Range(cells(iRow,1), cells(iRow,8)).PasteSpecial Paste:=xlPasteFormulas
iRow = iRow + 1
Loop
End Sub
这不会将任何内容复制到列 J 中包含数据的行中。如果您想包括该行以进行粘贴,那么您可以在 do 循环之后添加另一个粘贴操作作为快速 'n' 脏修复。
我建议使用 ActiveSheet.Usedrange.Rows.Count 属性.
引用包含数据的最后一个单元格你的情况:
Range("A4:H" & ActiveSheet.UsedRange.Rows.Count)