假设我创建了一个启用宏的 Excel 模板。在此模板中,我创建了一个子模板以获取字符串值并将其分配给变量,例如var_1
在子模板中。我保存模板并关闭 Excel。
现在,下次启动 Excel 并加载模板时,我希望将中的值var_1
填充到特定单元格中,例如A1
。
模板加载完成后,单元格应该立即填充。我该怎么做?
编辑:var_1
每次工作簿(模板)打开时,的值可能会发生变化。
谢谢。
答案1
Somanna,你可以尝试这个 VBA 代码,它将负责如何将值传递给变量并写入单元格。
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim InCell As Integer
For InCell = 1 To 5 Step 1
Cells(InCell, 1).Value = _
InputBox("Enter the value", "New Value,,,")
Next InCell
Application.ScreenUpdating = True
End Sub
怎么运行的:
- 打开模板文件, 按 Alt+F11打开 VB 编辑器。
- 在左上角找到项目浏览器, 点击本工作簿图标。
- 复制&粘贴此代码,返回到工作表。
关闭工作簿和打开再次输入,将会弹出此代码输入框。
将您想要填充到单元格中的值写入。
注意:
- 因为
Workbook Open event
每次打开模板时,Excel 都会读取代码以获取变量的不同值来写入单元格。 - For Loop
1 To 5 Step 1
确定Input Box
出现的5
次数(可编辑)。
假设是,1 To 5 Step 2
那么代码将只要求 3 个值,因为它在跳过一个空白行(第 1、3 和 5 行)后写入指定的值。
InCell, 1
,这里1
是的Column 1
,意思是A
,是可编辑的。(因为Col B
它应该2
)。