Excel VBA循环单元格链接窗体Combobox上

我需要一个函数,可以更改窗体控件combobox上的单元格链接已经存在于活动工作表使用循环。 我现在可以通过下面的循环来实现这一点

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 

所以我想要使用一个循环,而不是必须为我的工作表上的每个combobox,循环需要增加.Cell行号和.Shape(“Combobox 1”)。 我被困在编写循环,因为combobox使用名称或string值,而不是一个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