excel - 在复选框中指定更改
问题描述
我正在努力将复选框中的刻度链接到其他列表中的值并在之后基于此进行格式化。
(即人单击复选框,单元格变为灰色)
所以,我有许多复选框,每个文本框都标记为
“复选框 1” ... “复选框 44”
Sub Link()
Dim i As Long
Dim checkbox(1 To 44) As checkbox
For i = 1 To 44
For Each element In checkbox
ActiveSheet.Shapes.Range(Array(element)).Select
With Selection
.Value = xlOn
.LinkedCell = "Calculation!$A$" & "i"
.Display3DShading = False
End With
Next
Next
End Sub
但似乎我要么选择错误的复选框,要么以错误的方式分配它们的数组。任何帮助将不胜感激。
解决方案
ComputerVersteher 已经解决了您的基本问题,但您可以采用一种稍微简单的方法:
Sub x()
Dim i As Long
For i = 1 To ActiveSheet.CheckBoxes.Count
With ActiveSheet.CheckBoxes(i)
.Value = xlOn
.LinkedCell = "Calculation!$A$" & i
.Display3DShading = False
End With
Next i
End Sub
这确实假设复选框是按顺序命名的(默认情况下它们应该是)。
说了这么多,我不确定你到底想做什么。
推荐阅读
- netlogo - 预期的输入是一个数字,但得到的是 TRUE/FALSE true
- julia - 在 Zygote(Julia)中获得雅可比矩阵的正确方法是什么?
- php - PHP-7.0 SSH2 模块可以在命令行中工作,但不能在网站上工作
- python - 有人可以解释 def _trie(): return defaultdict(_trie)
- php - 有没有办法将 Laravel Eloquent 模型与服务或控制器级别分离?
- jquery - 我有 10 个输入,单击时我需要它们的值在另一个输入中,但返回 [object Object]
- python - 从 Python 中的一组句子中查找最常见单词的相对计数
- java - 我们如何使用从一种方法到另一种方法的变量,例如我试图将一个变量除以另一个
- xml - 样式表之间可以传递参数吗?
- javascript - JavaScript 中的三个点“...”有什么作用