excel - 使用循环将公式应用于范围,错误 1004
问题描述
我正在学习 VBA,现在我正在尝试通过循环将公式应用于动态范围的单元格。但我明白了error 1004
。我想问题在于范围定义,但我不确定。有人可以向我解释问题出在哪里吗?
Dim i As Integer, j As Integer, k As Integer
Dim lastrow As Long
Set ws = Sheets(ActiveSheet.Name)
lastrow = ws.Cells(ws.Rows.Count, "a").End(xlUp).Row
i = 37
j = 8
k = 0
Do While i < 73
With ws
.Range(.Cells(i, j), .Cells(i, lastrow)).Formula = "=vlookup($a8,Ï!a:aj,k+1,false)"
i = i + 1
k=k+1
End With
Loop
问题似乎出在这个地方。
with ws
.range(.cells(i,j),.cells(i,lastrow))
为什么不正确?
解决方案
"=vlookup($a8,Ï!a:aj,k+1,false)"
k
是一个变量。当你把它放在一个字符串中时,它就变成了一个字符串。
尝试这个
"=vlookup($a8,Ï!a:aj," & k + 1 & ",false)"
此外,您可能想让 LookUp Table 保持不变?
"=vlookup($a8,Ï!$a:$aj," & k + 1 & ",false)"
顺便说一句,k
是一个变量,你没有增加它。那么为什么要使用它呢?
我的建议是首先手动将公式放在该范围内,然后弄清楚你想如何编码。
推荐阅读
- xmpp - Smack 无法连接 Openfire 服务器
- python - 如何在 C 中使用不同的变量作为函数参数?
- angular - 单击路由器时防止重定向到组件
- mysql - mysql 列最后用零填充小数
- android - Unity OnApplicationQuit() 始终无法在 android 上运行
- java - jar 不应该指向项目目录中的文件吗?Eclipse(构建中的 Maven)
- python - 如何避免张量流 keras 中的停滞损失函数
- node.js - Docusign JWT 令牌返回 no_valid_key_or_signatures(节点)
- r - 比较并报告 r tidyverse 中组成员的变化
- python-3.x - 将列表中的每个项目与其余项目进行比较,并在迭代时从列表中删除匹配的元素