excel - 如何更改每个循环的变量
问题描述
我正在尝试使用几个组合框创建一个用户表单,这些组合框从另一个 excel 工作簿中获取值。
目前,我的代码创建标题标签取决于我称为“标签”的数组的值。对于我需要的每个标签它打开一个特定文件并从那里获取组合框值。例如,如果我在第一个循环中,我的数组值将是“Dirección”,那么我需要下一行代码打开一个名为 Departamentos.xlsx 的 Excel 工作簿并从那里获取值,如果我在第二个循环中,我需要打开另一个名为 Empresas.xlsx 的 Excel 工作簿等等。
这是我想的代码,但我不知道这有什么问题,因为 vba 返回一个运行时错误'91'
Private Sub UserForm_Initialize()
'Declarando variables
Dim var As Long 'variable que para el bucle for
Dim i As Long 'variable para el bucle for
Dim label As Variant
Dim files As Variant
'Creamos una array que contenga los nombres posibles de label
label = Array("Dirección", "Empresa", "Area/Planta del suceso")
files = Array("C:\Users\se72497\Desktop\Departamentos.xlsx", "C:\Users\se72497\Desktop\Empresas.xlsx", "C:\Users\se72497\Desktop\Areas.xlsx")
For var = 0 To 2
'Asigna el nombre a las etiquetas
Controls("label" & var).Caption = label(var)
set file= Workbooks.Open(files(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 files.Sheets("Hoja1").Range("C2").End(xlDown).Row
Me.Controls("ComboBox" & var).AddItem files.Sheets("Hoja1").Cells(i, 3).Value
Next i
Next
'Se cierran los archivos previamente abiertos
files.Close
End Sub
如您所见,我尝试使用与标签相同的方法来执行此操作,并创建了一个包含文件路径的数组。然后在循环内我为“文件”变量分配一个值,该变量将取决于循环。
有人能告诉我为什么它不起作用,我能做些什么吗?
解决方案
推荐阅读
- vue.js - Vue组件Vuex选项块功能
- java - Derby - java.sql.SQLException:找不到列'table.column_name'
- r - 使用 dplyr 过滤连接的多个条件
- python - 如何连接到现有的 Jupyter Notebook 内核并使用变量资源管理器检查变量?
- javascript - 使用javascript在不使用jquery的情况下删除焦点事件的文本框的css类
- express - 无法在 Next js 中使用 express.static() 对静态文件进行符号链接
- sql - 使用查询减少数字列中的值
- maven - 当所有模块都有不同的无法更改的父模块时,有没有办法在多个单独的模块上执行“mvn clean install”?
- powershell - 无法在 Powershell 中初始化命名空间管理器
- python - 通过将文件名通过 render_template 传递给 html 页面,当文件位于静态文件夹中时呈现 PDF