【发布时间】:2021-07-30 02:09:24
【问题描述】:
早上好!
我正在开发一个小项目,我遇到了这个宏世界,也就是我以前从未听说过的“宏 VBA 脚本”。
我想这是非常基本的东西,但我仍然在努力。
到目前为止我做了什么? 很多谷歌搜索。
我做了我自己的方法:
Sub Clickall()
With Selection
ActiveSheet.Shapes.Range("Check Box 2").Select
.Value = xlOn
.LinkedCell = ""
.Display3DShading = False
End With
End Sub
但是这个一次只检查 1 个框。而且它失败了很多次,没有任何理由。
然后我发现了这个:
Public Function Check(filePath As String, sheetName As String)
Dim xlWorkbook As Workbook
Dim xlWorksheet As Worksheet
Dim xlRange As Range
Set xlWorkbook = Workbooks.Open(filePath, UpdateLinks:=False)
Set xlWorksheet = xlWorkbook.Worksheets(sheetName)
For Each chkBox In xlWorksheet.CheckBoxes
chkBox.Value = xlOn
Next chkBox
xlWorkbook.Save
xlWorkbook.Close
End Function
但在这种情况下,是同时选中所有框,而我只想选中特定框。
所以,当我收到那个 excel 文件时。复选框 1、2、3、4 已经被选中。 我的工作是选中 5、6、7、8、9 号复选框,并取消选中 10 号和 11 号复选框。
有人知道如何做到这一点吗?
谢谢
【问题讨论】:
-
总是有 11 个盒子吗?然后一个计数器可以帮助它在 5 圈后停止
-
嗨,@Capt.Krusty,是的,总是 11 盒 :)