Как изменить файл в каждом цикле цикла - PullRequest
0 голосов
/ 24 октября 2019

Я новичок в 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...