Excel 在vba中使用变量定义窗体上的控件标题

Excel 在vba中使用变量定义窗体上的控件标题,excel,vba,Excel,Vba,请让我重新开始 我有一个用户表单,SortForm,上面有30个单选按钮。表单的目的是允许用户选择其中一个按钮作为对电子表格进行排序的键。它正在对课程进行分类,并且这些课程在每个注册期都会发生变化 我试图做的是更改单选按钮的标题,以反映课程名称。我已经将电子表格中的信息存储到两个数组中:strSortName和intSortCol。strSortName包含课程名称。每个单选按钮的名称都以“btSort”开头,然后是数字1到30。我想做的是使用“btsort”和do循环中的索引的串联来更新按钮的

请让我重新开始

我有一个用户表单,SortForm,上面有30个单选按钮。表单的目的是允许用户选择其中一个按钮作为对电子表格进行排序的键。它正在对课程进行分类,并且这些课程在每个注册期都会发生变化

我试图做的是更改单选按钮的标题,以反映课程名称。我已经将电子表格中的信息存储到两个数组中:strSortName和intSortCol。strSortName包含课程名称。每个单选按钮的名称都以“btSort”开头,然后是数字1到30。我想做的是使用“btsort”和do循环中的索引的串联来更新按钮的标题,以反映strSortName中包含的课程名称

我希望这是一个更好的问题

查理

到目前为止的代码,无法更新字幕

副macSortData() ' 'macSortData宏 ' '键盘快捷键:Ctrl+Shift+S "

Dim strVal1作为字符串,intVal2作为整数,I作为整数 Dim FormName作为字符串“不确定”是必需的 Dim ControlName As Controls'不确定这是否需要或正确 Dim intSortCol(34),strSortName(34)作为字符串

工作表(“主”)。激活

对于I=1到34

''strVal1包含课程名称,strVal2包含课程的列号

strVal1 = Cells(4, I + 2).Value
intVal2 = I + 2
'结束类列表的测试

 If Len(strVal1) = 0 Then GoTo sortFinal
 If strVal1 = "# taken" Then GoTo sortFinal
'将名称和列号存储在数组中
strSortName(I)=strVal1 intSortCol(I)=intVal2

'非工作字幕更新代码 Set ControlName=“btsort”&Trim(str(I))”连接的控件名

SortForm.ControlName.Caption=strSortName(I)'非工作分配尝试

接下来我

最后:

"展示表格 巫术表演


End Sub

工作的代码是

ControlName=“btsort”和Trim(str(I))


Controls(ControlName).Caption=Trim(strSortName(I))

哪行代码触发了错误?错误文本是什么?你的代码没有多大意义。它(以目前的形式)应该做什么(预期的结果),你目前得到什么?