如何解决为什么 VBA 中的这个联合范围会在 Excel 中选择不需要的单元格?
我试图让我的生活更轻松一些,并通过使用由按钮激活的宏在某些单元格中填充一些值,宏如下所示:
Sub Fill_123()
Dim unionRange As Range
Dim ws As Worksheet
Set ws = Worksheets(1)
With ws
Set unionRange = Union(.Range("G48:G48"),.Range("G51:G51"),.Range("G55:G55"),.Range("G58:G58"),.Range("G60:G60"),.Range("G61:G61",.Range("G63:G63")))
End With
Dim myCell As Range
For Each myCell In unionRange
If myCell.Address = "$G$60" Then
myCell = myCell + 1
ElseIf myCell.Address = "$G$63" Then
myCell = myCell + 3
Else
myCell = myCell + 1
End If
Next
End Sub
此宏将填充以下单元格:
如果你看得足够近,你会发现我没有选择 G62 但不知何故它在这个单元格中添加了一个“1”,这怎么可能?
提前致谢
解决方法
您也可以使用 Union
代替 Set unionRange = .Range("G48,G51,G55,G58,G60,G61,G63")
,它会更短一些。
你也可以用
替换你的If … End If
If myCell.Address = "$G$63" Then
myCell = myCell + 3
Else
myCell = myCell + 1
End If
较短但完全相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。