在Excel VBA中,我想跟踪范围A1到A3和A7到A8是否填充了值。如果它已填满,我想在单元格B1中显示“Ready”,否则不会在单元格B1中显示任何内容。
我不确定如何使用excel vba完成此操作。请帮助我。过去几个小时我一直在努力,没有运气。非常感谢。
答案 0 :(得分:0)
考虑:
Sub DataTest()
Set r1 = Range("A1")
Set r2 = Range("A2")
Set r3 = Range("A3")
Set r7 = Range("A7")
Set r8 = Range("A8")
Set b1 = Range("B1")
If [r1] <> "" And [r2] <> "" And [r3] <> "" And [r7] <> "" And [r8] <> "" Then
b1.Value = "Ready"
End If
End Sub
答案 1 :(得分:0)
我确信这不是最好的方法,但它对我有用。这就是我做的。 我使用工作表计算事件来做到这一点。由于我正在跟踪单元格A1到A3,因此我将它们的值分别等同于单元格B1到B3。然后我设置这些代码以间接跟踪单元格A1到A3。
Private Sub Worksheet_Calculate()
Dim input_field As Boolean
input_field = True
If IsEmpty(Range("B1")) Or Range("B1").Value = 0 _
Or IsEmpty(Range("B2")) Or Range("B2").Value = 0 _
Or IsEmpty(Range("B3")) Or Range("B3").Value = 0 Then
input_field = False
Else
input_field = True
End If
If input_field = True Then
Range("C1") = "Ready"
Else
Range("C1") = ""
End If
End Sub