簡體   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