我在Excel 2007中的我的用戶表單中有一個小問題。我的工作表中的某些單元格包含1個單元格中的多於10行(帶有ALT ENTER的數據)。現在..即時通訊試圖找到一種方便,清潔的數據顯示。我不想將列寬更改爲1000,但我想用鼠標懸停在工具箱上顯示所有單元格數據。任何經驗豐富的人呢?或者也許是另一個想法Listbox Userform VBA對單元格中的太多數據
在此先感謝!
我在Excel 2007中的我的用戶表單中有一個小問題。我的工作表中的某些單元格包含1個單元格中的多於10行(帶有ALT ENTER的數據)。現在..即時通訊試圖找到一種方便,清潔的數據顯示。我不想將列寬更改爲1000,但我想用鼠標懸停在工具箱上顯示所有單元格數據。任何經驗豐富的人呢?或者也許是另一個想法Listbox Userform VBA對單元格中的太多數據
在此先感謝!
用鼠標將可能做到這一點,但它很複雜,我認爲。在這裏,我有另一個更簡單的想法:在列表框中雙擊一個多行文本框與選定列表項數據將顯示。該文本框與列表框具有相同的位置和大小。在用戶表單上單擊文本框隱藏。下面的示例代碼,以測試它,你需要有一個名爲「ListBox1的」列表框形成:
Option Explicit
Public ListItemInfo As Control
Private Sub UserForm_Initialize()
Set ListItemInfo = Me.Controls.Add("Forms.TextBox.1", "ListItemInfo", False)
With Me.ListItemInfo
.Top = Me.ListBox1.Top
.Left = Me.ListBox1.Left
.Width = Me.ListBox1.Width
.Height = Me.ListBox1.Height
.MultiLine = True
End With
End Sub
Private Sub ListBox1_Change()
Me.ListItemInfo.text = GetSelectedItemsText
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
SwitchListItemInfo
End Sub
Private Sub UserForm_Click()
SwitchListItemInfo
End Sub
Private Function GetSelectedItemsText() As String
Dim text As String
Dim i As Integer
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) Then
text = text & Me.ListBox1.List(i) & vbNewLine
End If
Next i
GetSelectedItemsText = text
End Function
Private Sub SwitchListItemInfo()
If Me.ListItemInfo.text = "" Then Exit Sub
Me.ListItemInfo.Visible = Not Me.ListItemInfo.Visible
Me.ListBox1.Visible = Not Me.ListBox1.Visible
End Sub
嘿,謝謝你的主意! – user2119093 2013-03-11 09:02:29
不客氣。如果你喜歡這個答案,請注意。我會很高興得到一些觀點:-)。 – dee 2013-03-11 14:01:10
你們是不是要顯示中的紙片或表單中的數據?我不明白你的問題。如果你的表單/列表框不重要,你只是想通過某種方式看到表單中的所有行,那就說出來。否則你能否詳細說明一下。 – NickSlash 2013-03-08 16:19:41
我的表單視圖並不重要,我的表單很重要。我希望它在我的表單上的列表框中顯示乾淨。最好使用鼠標和一個小工具箱。但我找不到任何曾經或嘗試過這種方法的人。 – user2119093 2013-03-08 18:17:22
具有多行的單元格,單元格中的每一行代表列表中的一個項目?或者是否將整個單元格值放入單個列表項中。你可以提供一些截圖嗎? (用鏈接更新你的問題) – NickSlash 2013-03-08 18:27:40