我是vba的新手,我试图在excel中创建一个带有可移动列表的表单,其中包含从另一本excel书中获取的项目,其中包含我需要的列表项目。
在我想动态更改标签值的同时,我制作了一个For Next循环,该循环每次都更改标签的值。 我需要先说一下,然后才能看到将标签名称更改为从0而不是1开始的代码,因此我的第一个标签称为label0而不是label1,我这样做是因为我创建了一个带有需要标签名称的数组。
我试图这样做:
Private Sub UserForm_Initialize()
'Declarando variables
Dim file As Workbook 'variable que contiene el libro con la tabla de los archivos
Dim var As Long 'variable que para el bucle for
Dim i As Long 'variable para el bucle for
Dim label As Variant
'Creamos una array que contenga los nombres posibles de label
label = Array("Dirección", "Empresa", "Area/Planta del suceso")
'Asignamos los valores para las variables de departamentos y empresas que abrirán los respectivos archivos que se encuentran en la ruta especificada
Set file = Workbooks.Open("C:\Users\se72497\Desktop\Departamentos.xlsx")
For var = 0 To 2
'Asigna el nombre a las etiquetas
Controls("label" & var).Caption = label(var)
'Bucle que recorre cada una de las líneas que existen en la tabla de DEPARTAMENTOS y se añaden a la lista desplegable que se especifica
For i = 2 To file.Sheets("Hoja1").Range("C2").End(xlDown).Row
direccion.AddItem file.Sheets("Hoja1").Cells(i, 3).Value
Next i
Next
file.Close
End Sub
我正在尝试每次循环返回For var时都要更改变量文件,因为例如,当label2.caption等于label(2)时,需要的文件比label1.caption = label(0)时要多不知道是否用文件路径创建另一个数组,我想我可以做到,但是如果有人知道另一种方法,请让mw知道。