如何使用vba跟踪一系列单元格?

时间:2014-08-27 14:37:58

标签: excel-vba vba excel

在Excel VBA中,我想跟踪范围A1到A3和A7到A8是否填充了值。如果它已填满,我想在单元格B1中显示“Ready”,否则不会在单元格B1中显示任何内容。

我不确定如何使用excel vba完成此操作。请帮助我。过去几个小时我一直在努力,没有运气。非常感谢。

2 个答案:

答案 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