繁体   English   中英

浮动消息/注释框

[英]Floating Message/Comment Box

因此,我几乎要做的就是在电子表格的右侧创建一个浮动文本框。 当用户选择行/单元格时,它将在其中放置带有有关该单元格详细信息的注释或消息,而不是一个小的小注释框。

我试图使用UserForm Box,但它并不是我真正想要的。

例:

用户选择单元格A4,当选择该单元格时,我希望显示一条以浮动文本形式显示的消息。 然后,如果用户选择单元格B6,则该框中将显示另一条消息。

这有意义吗?

更新:

当选定某个单元格时,以下代码显示一个“用户窗体”框:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Definition As String

If Intersect(Target, Range("C6:D6")) Is Nothing Then Exit Sub
Select Case Target.Row
  Case 22
    Definition = "Text Here"
  Case 23
    Definition = "Text Here Again"
End Select

UserForm1.Label1.Caption = Definition
UserForm1.Show

End Sub

我不想使用UserForm框,因为它在工作表本身上不是固定的。 我希望它是一个始终显示在工作表右侧的文本框,以在选择单元格时显示设置的消息或上下文。 这将与实际单元格中存储的内容不同。

使用数据验证消息。 每当您单击一个单元格时,这种消息就会“弹出”:

在此处输入图片说明

您可以将Label或TextBox控件直接放置在工作表中-确保它是ActiveX控件,而不是Forms控件-并使用工作表的SelectionChange事件将其动态放置:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Me.lblText

    .Visible = False

    Select Case Target.Row     Case 22         .Caption = "Text Here Again"     Case 23         .Caption = "Text Here Again"     Case Else         .Visible = False         Exit Sub     End Select

    ' Place the label to the right of the target cell     .Left = Target.Left + Target.Width

    ' Or place the label in the far left of the window     '.Left; =; Application.ActiveWindow.VisibleRange.Width; -; .Width

    .Top = Target.Top - 0.75 ' cell borders

    .Visible = True

End With

End Sub

一些提示:

  • 确保标签的“ Placement”属性为2(XlPlacement.xlMove),因为其他值使您可以自由浮动或移动并调整大小。
  • 我强烈建议您将控件的背景色设置为&H80000004&,这是菜单和表单背景的预定义Windows方案颜色; 同样,菜单文本颜色&H80000008&的前景。 这样可以确保具有自己的颜色设置的用户的可见度,并明确支持指定可访问或辅助的配色方案以改善视觉障碍的用户。

  • 我的代码取决于您的工作表支持VBA中的事件过程以及ActiveX控件。 它无法在.xlsx工作表中使用,并且如果您的操作环境具有严格的安全策略,则可能会被阻止(或伴随警告对话框)。

  • 复制和粘贴可能会受到我对工作表SelectionChange事件的使用的影响。

  • 在设计视图中的“格式控件”菜单上右键单击该控件,然后取消选中“打印控件”,如果用户要打印工作表,则需要查看单元格内容,而不是标签。
  • 另外:标签是选择和编辑它所位于的控件的方式。 也许您希望它在右侧4-5mm,以便用户将鼠标插入该单元格中。 或者,在标签的Click()或MouseMove事件中执行此操作:

    Me.lblText.Visible = False

您可能会从所有这些中得出一个显而易见的结论:本机注释或数据验证标签比使用表单和ActiveX控件更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM