excel 选定单元格时悬浮显示另一个单元格的内容

如题,由于表格太大,有很多列,因此在输入的时候,很难对齐看准第一列的姓名。

我想实现的就是,点击H3或N3,悬浮显示A3的内容(如张三)
点击H4,悬浮显示A4的内容(如李四)

这个好像不能用数据有效性来实现,因为数据有效性里不能悬浮显示指定单元格的内容,只能显示事先固定录入好的文字。求解。

在工作表标签上击右键,查看代码,粘贴以下代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 3 Then
    If Target.Column = 8 Or Target.Column = 14 Then
        If Cells(Target.Row, 1) <> "" Then
            For Each cm In ActiveSheet.Comments
                cm.Delete
            Next
            Target.AddComment
            Target.Comment.Text Text:=Cells(Target.Row, 1).Value
        End If
    End If
End If
End Sub

 

也可以用以下代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 3 Then
    If Target.Column = 8 Or Target.Column = 14 Then
        If Cells(Target.Row, 1) <> "" Then
            With Target.Validation
                .Delete
                .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
                :=xlBetween
                .InputTitle = "A列的内容是"
                .InputMessage = Cells(Target.Row, 1)
            End With
        End If
    End If
End If
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-15
冻结窗格,这样可以让输入列紧接着A列显示追问

这只能说 不是很好的方法

第2个回答  2015-03-15
貌似要使用VBA才能达到这个效果追问

能给出代码么?朋友

追答

先在表中建立一个文本框TextBox1,设定属性见图:

在Sheet1的代码窗口贴上:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column < 10 Or Target.Row < 3 Then TextBox1.Visible = False: Exit Sub
TextBox1.Left = Target.Left + Target.Width
TextBox1.Height = Target.Height + 3
TextBox1.Top = Target.Top - Target.Height
TextBox1.Value = Cells(Target.Row, 1)
TextBox1.Visible = True
End Sub

当活动单元格选定到第二行以下并且H列往右时,这个文本框将会浮现并把同行的A1的值显示在活动单元格的右上角

效果如图:

附件可参考

本回答被提问者采纳
相似回答