使用变量定义控件在vba中的表单上定义控件标题

时间:2018-09-07 10:40:51

标签: excel vba

请让我重新开始。

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

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

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

查理

迄今为止的代码,无法更新字幕

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

将strVal1设置为字符串,将intVal2设置为整数,将I设置为整数 Dim FormName As String'不确定是否需要 Dim ControlName As Controls'不确定是否需要或正确 Dim intSortCol(34),strSortName(34)作为字符串

Sheets(“ Main”)。激活

对于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

'非工作字幕更新代码 设置ControlName =“ btsort”&Trim(str(I))'级联控件名称

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

接下来我

sortFinal:

'显示表格     SortForm.Show

结束子

1 个答案:

答案 0 :(得分:0)

起作用的代码是

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

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