gpt4 book ai didi

表单组合框上的 Excel VBA 循环单元格链接

转载 作者:行者123 更新时间:2023-12-04 20:41:06 25 4
gpt4 key购买 nike

我需要一个可以使用循环更改事件工作表上已经存在的表单控件组合框上的单元格链接的函数。我目前可以在没有循环的情况下实现这一点,如下所示

ActiveSheet.Shapes("Combobox 1").OLEFormat.Object.LinkedCell = Worksheets("Test").Cells(2, 2).Address
ActiveSheet.Shapes("Combobox 2").OLEFormat.Object.LinkedCell = Worksheets("Test").Cells(2, 3).Address
ActiveSheet.Shapes("Combobox 3").OLEFormat.Object.LinkedCell = Worksheets("Test").Cells(2, 4).Address
ActiveSheet.Shapes("Combobox 4").OLEFormat.Object.LinkedCell = Worksheets("Test").Cells(2, 5).Address
ActiveSheet.Shapes("Combobox 5").OLEFormat.Object.LinkedCell = Worksheets("Test").Cells(2, 6).Address
ActiveSheet.Shapes("Combobox 6").OLEFormat.Object.LinkedCell = Worksheets("Test").Cells(2, 7).Address
ActiveSheet.Shapes("Combobox 7").OLEFormat.Object.LinkedCell = Worksheets("Test").Cells(2, 8).Address

所以我想使用一个循环,而不是对工作表上的每个组合框都这样做,循环需要增加 .Cell 行号和 .Shape("Combobox 1")。我一直在编写循环,因为组合框使用的是名称或字符串值,而不是 int 值。

对此的任何帮助将不胜感激

最佳答案

使用这种格式:

Dim ws1 As Worksheet, ws2 As Worksheet, i As Long, os As Long

Set ws1 = ActiveSheet
Set ws2 = Worksheets("Test")

os = 1 'change i Offset as needed

For i = 1 To 7
ws1.Shapes("Combobox " & i).OLEFormat.Object.LinkedCell = ws2.Cells(2, i + os).Address
Next

关于表单组合框上的 Excel VBA 循环单元格链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33317291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com