gpt4 book ai didi

Excel VBA在函数之间传递变量

转载 作者:行者123 更新时间:2023-12-04 20:36:43 24 4
gpt4 key购买 nike

我正在尝试编写将解析 B 列(分析师登录时间)的 excel VBA 代码,如果该列为 0(如那天他们不在),它将更新相邻的列以说 NA。目前,以下代码错误。如果我将 Cells(rng, i) 中的 rng 变量更改为一个数字,那么代码将采用该数字(假设为 4)并将 NA 放入所有字段(3 到 23,因此,C 到 W)。我认为问题在于 rng 的值没有被传递到内部函数中,但我不知道如何解决这个问题。

Dim rng As Range
For Each rng In Range("B4:B10")
If rng.Value = 0 Then
For i = 3 To 23
Cells(rng, i).Value = NA
Next i
End If
Next rng

最佳答案

rng单独(没有明确的属性名称)默认返回 .Value0尝试使用行索引 0这是无效的,而是通过 .Row 获取行号:

Cells(rng.Row, i).Value = "NA"

如果 NA不是变量而是字符串,引用它。

非循环替代:
 If rng.Value = 0 Then Range(rng.Offset(0, 1), rng.Offset(0, 21)).Value = "NA"

关于Excel VBA在函数之间传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41464045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com