![当 Excel 模板打开时,使用子单元格中的数据填充单元格](https://linux22.com/image/1582183/%E5%BD%93%20Excel%20%E6%A8%A1%E6%9D%BF%E6%89%93%E5%BC%80%E6%97%B6%EF%BC%8C%E4%BD%BF%E7%94%A8%E5%AD%90%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E5%A1%AB%E5%85%85%E5%8D%95%E5%85%83%E6%A0%BC.png)
假设我创建了一个启用宏的 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
)。