循环遍历范围,如果满足条件则设置值
Looping through a range, setting values if condition is met
我搜索了一堆,但没能找到与我类似的问题。所以这是我的问题:
我想编写一个计算单元格 B2 的简单宏。
- 如果 B2 有一个值,我希望宏将另一个工作表中的值(比方说:worksheet2,单元格 A1,表示 "Award4455")粘贴到单元格 C2 中;
- 如果 B2 为空,我希望宏将 C2 留空。
然后我想用相同的条件来评估B3(填充或不填充C3,取决于B3是否有值或为空)。我希望公式循环遍历 7 行 (B2:B8),填充(或不填充)C 列中的相应单元格。
这是我正在尝试的方法(未成功 - 我不断收到各种错误消息):
For i = 2 To 8
Dim Award As String
Award = Sheets("Sheet2").Range("A1").Value
If Len(Range(i, "B")) = 0 Then
Range(i, "C") = Award
End If
Next i
我们:
- 将 Dim 和 Award 拉到 Loop
之外
- 修复 Range 语句的语法
Sub dural()
Dim Award As String
Award = Sheets("Sheet2").Range("A1").Text
For i = 2 To 8
If Len(Range("B" & i)) = 0 Then
Range("C" & i) = Award
End If
Next i
End Sub
我搜索了一堆,但没能找到与我类似的问题。所以这是我的问题:
我想编写一个计算单元格 B2 的简单宏。
- 如果 B2 有一个值,我希望宏将另一个工作表中的值(比方说:worksheet2,单元格 A1,表示 "Award4455")粘贴到单元格 C2 中;
- 如果 B2 为空,我希望宏将 C2 留空。
然后我想用相同的条件来评估B3(填充或不填充C3,取决于B3是否有值或为空)。我希望公式循环遍历 7 行 (B2:B8),填充(或不填充)C 列中的相应单元格。
这是我正在尝试的方法(未成功 - 我不断收到各种错误消息):
For i = 2 To 8
Dim Award As String
Award = Sheets("Sheet2").Range("A1").Value
If Len(Range(i, "B")) = 0 Then
Range(i, "C") = Award
End If
Next i
我们:
- 将 Dim 和 Award 拉到 Loop 之外
- 修复 Range 语句的语法
Sub dural()
Dim Award As String
Award = Sheets("Sheet2").Range("A1").Text
For i = 2 To 8
If Len(Range("B" & i)) = 0 Then
Range("C" & i) = Award
End If
Next i
End Sub