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

Excel 选择一个单元格将覆盖另一个单元格中的文本,excel,vba,Excel,Vba,我想选择一个单元格并更改另一个单元格中的文本 例如: 选择单元格.A1时,单元格.B1的文本为“您好” 选择单元格A2时,单元格B1的文本为“再见” 使用Excel中的Visual Basic for Applications是否可以实现这一点 谢谢 以下内容将满足您的需要 Private子工作表\u selection更改(ByVal目标作为范围) 如果Target.Address=ActiveSheet.Range(“A1”).Address,则 ActiveSheet.Range(“B1”

我想选择一个单元格并更改另一个单元格中的文本

例如:

选择单元格.A1时,单元格.B1的文本为“您好”
选择单元格A2时,单元格B1的文本为“再见”

使用Excel中的Visual Basic for Applications是否可以实现这一点


谢谢

以下内容将满足您的需要

Private子工作表\u selection更改(ByVal目标作为范围)
如果Target.Address=ActiveSheet.Range(“A1”).Address,则
ActiveSheet.Range(“B1”).Value=“你好”
其他的
如果Target.Address=ActiveSheet.Range(“A2”).Address,则
ActiveSheet.Range(“B1”).Value=“再见”
如果结束
如果结束
端接头
或者,您可以使用案例陈述而不是if-else(根据T.J.L.的建议)

Private子工作表\u selection更改(ByVal目标作为范围)
选择案例目标。地址
案例范围(“A1”)。地址
范围(“B1”).Value=“你好”
案件范围(“$A$2”)。地址
范围(“B1”)。值=“再见”
其他情况
范围(“B1”)。值=“选择了错误的单元格”
结束选择
端接头

将其放入工作表对象代码中

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

问:这是可以实现的吗?是的。在一个地方你用
。地址
,在另一个地方你不用。这也可以从
select case
而不是
if-then-elseif
中获益。感谢您的反馈,我喜欢学习如何提高我的excel技能。只使用
.address
一次确实很草率,而且我以前从未使用过
select case
。我会仔细阅读,也许会改进我的答案。