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

时间:2017-05-26 12:22:57

标签: excel vba excel-vba

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

2 个答案:

答案 0 :(得分:1)

你可以使用这样的东西:

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

这将在消息框中显示值,而不是文本框。不确定为什么需要一个文本框。

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

答案 1 :(得分:0)

将其添加到工作表中(请参阅黑色箭头):enter image description here

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