选择一个单元格会覆盖另一单元格中的文本

时间:2019-08-28 10:25:09

标签: excel vba

我想选择一个单元格,然后在另一个单元格中更改文本。

例如:

选择 cell.A1 后, cell.B1 的文本为“你好”
选择 cell.A2 后, cell.B1 的文本为“再见”

Visual Basic for Excel中的应用程序可以实现吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

以下内容将满足您的需求。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = ActiveSheet.Range("A1").Address Then
    ActiveSheet.Range("B1").Value = "Hello"
    Else
        If Target.Address = ActiveSheet.Range("A2").Address Then
            ActiveSheet.Range("B1").Value = "Goodbye"
        End If
End If
End Sub

或者,您可以使用Case语句而不是if-else(根据T.J.L.的建议)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address
    Case Range("A1").Address
    Range("B1").Value = "Hello"
        Case Range("$A$2").Address
        Range("B1").Value = "Goodbye"
    Case Else
        Range("B1").Value = "Wrong cell selected"
End Select
End Sub

答案 1 :(得分:0)

将其放置在工作表对象代码中

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
        Me.Range("B1").Value2 = "hello"
    ElseIf Not Intersect(Target, Me.Range("A2")) Is Nothing Then
        Me.Range("B1").Value2 = "goodbye"
    End If
End Sub