VBA-选择指定范围后,在下一个单元格上调用函数

时间:2018-12-05 06:00:55

标签: excel vba

我有一个空单元格,例如:A1到A5

每当A1到A5单元被填满时,我都希望有一个私有子调用B1到B5上的函数。

有什么主意吗?

2 个答案:

答案 0 :(得分:1)

因此,您将使用工作表更改事件 + IsEmpty 方法来帮助您确定“何时A1到A5单元被填充”。对于使用工作表事件进行编程,应将代码放置在相应的工作表对象中,而不是普通模块对象中。代码下方将使您开始

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A1:A5")) Is Nothing Then
        For Each cell In Me.Range("A1:A5")
            If IsEmpty(cell.Value) Then
                Exit Sub
            End If
        Next cell

        'Call YourOwnFunction(......) From Here...
    End If

End Sub

如果要填充单元格的任何,而不是填充所有单元格:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A1:A5")) Is Nothing Then
        For Each cell In Me.Range("A1:A5")
            If Not IsEmpty(cell.Value) Then
                'Call YourOwnFunction(......) From Here...
                 Exit Sub
            End If
        Next cell      
    End If      
End Sub

答案 1 :(得分:0)

在工作表模块中:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Application.CountA([A1:A5]) = 5 Then
        '// Your code here
    End If
End Sub