我有一个带有四列设置的Excel工作表,如下所示。
我要尝试的是将B列中的单元格内容复制到C列,只要这4列的任何单元格中都有活动行。我的意思是包括值a11。
我发现了很多复制文本的方法,但是如果一个单元格为空,它们都会停止。
这应该通过自动运行宏在Excel模板中工作以填写表格。我尝试了许多在网上其他站点上找到的方法,但是没有任何效果。它们似乎都停在任何行的第一个空白单元格中……
Sub Auto_Open()
With Range("B1", Range("B1").End(xlDown))
Sheets("Upload").Range("C" & Rows.Count).End(xlUp).Offset(0).Resize(.Count) = .Value
End With
End Sub
我最后一个代码的输出(在此处发布)在第一个空单元格处结束,我无法使其继续...
有什么建议吗?
谢谢。
答案 0 :(得分:0)
这应该有效:
此函数在整张表中查找最后使用的行。
Sub Auto_Open()
Sheets("Upload").Range("C1:C" & LastRow(ActiveSheet)).Value = Sheets("Upload").Range("B1:B" & LastRow(ActiveSheet)).Value
End Sub
Function LastRow(Sh As Worksheet)
On Error Resume Next
LastRow = Sh.Cells.Find(What:="*", _
After:=Sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function