使用VBA在Excel中的文本框中显示单元格内容

我有一系列的数据单元格。 当我点击文本框中的任何单元格时,我想要一个文本框来显示单元格内容。 这可能吗? 谢谢

你可以使用这样的东西:

Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim i As Long Dim lRow As Long lRow = Cells(Rows.Count, 1).End(xlUp).Rows For i = 1 To lRow If Cells(i, 1).Count = 1 Then If Cells(i, 1) = "" Then Else If Not Intersect(Target, Cells(i, 1)) Is Nothing Then MsgBox (i) End If End If End If Next i End Sub 

这将显示消息框中的值,而不是文本框。 不知道为什么你需要一个文本框。

我引用该行并将lRow = Cells(Rows.Count, 1).End(xlUp).Rows更改为您正在使用的正确列号

将其添加到工作表(请参阅黑色箭头): 在这里输入图像说明

 Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox Target.Value End Sub 

一般来说,如果你想检查一个特定的范围,你可以在事件中定义范围:

 Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngPreselected As Range Set rngPreselected = Range("A1:B10") If Not Intersect(Target, rngPreselected) Is Nothing Then MsgBox Target.Value End If End Sub 

在这种情况下, A1:B10是定义的范围。

这就是所谓的Event 。 查看更多关于这里的事件: http : //www.cpearson.com/excel/events.aspx