【发布时间】:2022-11-03 13:32:20
【问题描述】:
我想知道您是否可以帮助我完成我正在为 Excel 工作表设计的这个宏。我正在尝试创建一个宏,该宏在选中复选框时选择然后循环选定单元格的颜色。我在下面包含了当前代码,但我已经尝试了各种循环,包括 While...Wend。我可能已经完成了这些错误,所以这些选项可能仍然有效。任何帮助将不胜感激。
谢谢
Sub Disco_Mode()
'
' Disco_Mode Macro
' Activates disco mode for this worksheet.
'
'
Range( _
"31:1048576,J29:XFD30,U26:XFD28,J26:K28,A26:C30,22:25,O15:XFD21,A15:C21,12:14,W3:XFD11,A3:C11,1:2" _
).Select
Range("A1").Activate
Dim isOn As Boolean
isOn = 1
Dim volor As Integer
volor = 0
Do Until False
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = volor
.TintAndShade = 0
.PatternTintAndShade = 0
Application.Wait (Now + TimeValue("0:00:1"))
End If
End Function
End With
Range("A1").Select
End Sub
【问题讨论】:
-
您是否真的尝试过阅读 MS 帮助页面以了解 if then else endif、with、end with、for do 循环等
-
是的,我有,我仍然无法让它工作。
-
我建议你再读一遍。如果没有匹配的if,则无法结束。 do until 和 end 函数的类似观察。您也不能重叠块。例如 with ... If...end if... End with, not with ... If...end with...end if。
-
我仍在努力让它发挥作用。
-
那么布尔值有两个值“真”和“假”。如果必须,VBA 可以进行真实的转换,但最好使用正确的值。尝试仅使用您的第一个范围语句的子程序,您会收到错误吗?当您的前两个范围语句仅在子中时会发生什么。第一个范围是否仍然被选中?还有很多要评论的,但这只是表明您所做的研究很少。