[英]How can I write Excel VBA code to repeat until it reaches the worksheet edge?
我想编写一些VBA,无论它从何处开始,它都会反复对单元格执行操作,直到到达工作表边缘(例如A列)为止。 我发现,如果我告诉它重复的次数多于列数,则在代码尝试移至A列左侧的列时会出现错误。如何限制循环以在A列处停止?
例如,如果我使用
For n = 1 To 5
'
ActiveCell.Offset(0, -1).Range("A1:A2").Select
Selection.merge
'
Next n
然后,如果我从选中的G列中的一个单元格开始就可以了,但是如果我在F列或更少的列中选择了一个单元格,它就会崩溃。
谢谢!
这应该做您想要的。 请注意,VBA的关键原理是几乎不需要Select
单元格。 (尽管宏记录器不知道这一点)。
Sub MergeEm()
Dim n As Long
Dim cellActive As Excel.Range
Dim CellRow As Long
Set cellActive = ActiveCell
CellRow = cellActive.Row
'Stepping backwards - not necessary, but in spirit with your original code
For n = cellActive.Column To 1 Step -1
cellActive.Parent.Cells(CellRow, n).Range("A1:A2").Merge
Next n
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.