如何在每个循环中更改文件

时间:2019-10-24 14:01:16

标签: excel vba

我是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知道。

0 个答案:

没有答案