Board logo

標題: vba listbox ColumnHeads的表頭 [打印本頁]

作者: owenchen0911    時間: 2016-6-1 21:17     標題: vba listbox ColumnHeads的表頭

嗨,大家晚安 :

想請教一下VBA表單裡的listbox,切割好欄位後,怎麼新增表頭的文字上去,如下圖,

Google一些文章,都沒有看到合適的,特來請教大家,謝謝


    ___[attach]24377[/attach]
作者: GBKEE    時間: 2016-6-2 07:57

回復 1# owenchen0911
listbox,切割好欄位後???

ListBox 要顯示ColumnHeads,清單的來源必需用.RowSource 指定
RowSource 需是單一的連續儲存格範圍 ,不可用切割
作者: owenchen0911    時間: 2016-6-2 10:12

回復  owenchen0911
listbox,切割好欄位後???

ListBox 要顯示ColumnHeads,清單的來源必需用.RowSour ...
GBKEE 發表於 2016-6-2 07:57



    Hi,

我的code如下,這樣子子項目可以加進去,那麼頭還可以用  "ColumnHeads"嗎??謝謝
  1. ListBox1.ColumnCount = 7
  2. ListBox1.ColumnHeads = True

  3. '增加項目進去
  4. IListRow = ListBox1.ListCount
  5.         ListBox1.AddItem ComboBox_drink_name
  6.         
  7.         ListBox1.List(IListRow, 1) = priceArray(ComboBox_drink_name.ListIndex)
  8.         ListBox1.List(IListRow, 2) = ComboBox_number
  9.         ListBox1.List(IListRow, 3) = ComboBox_number * priceArray(ComboBox_drink_name.ListIndex)
  10.         ListBox1.List(IListRow, 4) = ComboBox_ice
  11.         ListBox1.List(IListRow, 5) = ComboBox_sugar
  12.         ListBox1.List(IListRow, 6) = ComboBox_takeout
  13.         
  14.         xItemCount = xItemCount + 1
複製代碼

作者: GBKEE    時間: 2016-6-3 05:54

回復 3# owenchen0911
試試看
  1. Option Explicit
  2. Dim Sh As Worksheet
  3. Private Sub UserForm_Initialize()
  4.     Dim Rng As Range
  5.     Set Sh = ActiveSheet   '指定ListBox1.RowSource 的工作表
  6.     Set Rng = Sh.Range("A1").CurrentRegion
  7.    
  8.     'CurrentRegion 屬性 傳回 Range 物件,該物件代表目前的區域。目前區域是指以任意空白列及空白欄的組合為邊界的範圍。
  9.    
  10.     Set Rng = Application.Intersect(Rng, Rng.Offset(1))
  11.     If Rng Is Nothing Then Set Rng = Sh.Range("A1").CurrentRegion.Rows(2)  '沒有購物清單
  12.     With ListBox1
  13.         .ColumnHeads = True
  14.         .RowSource = Rng.Address
  15.     End With
  16. End Sub
  17. Private Sub Ex_清單() '加入購物清單的程式
  18.     Dim Rng As Range
  19.     Set Rng = Sh.Range("A1").CurrentRegion
  20.     With Rng.Cells(Rng.Rows.Count + 1, "A")
  21.         '增加項目進去
  22.        .Cells(1, 1) = priceArray(ComboBox_drink_name.ListIndex)
  23.        .Cells(1, 2) = ComboBox_number
  24.        .Cells(1, 3) = ComboBox_number * priceArray(ComboBox_drink_name.ListIndex)
  25.        .Cells(1, 4) = ComboBox_ice
  26.        .Cells(1, 5) = ComboBox_sugar
  27.        .Cells(1, 6) = ComboBox_takeout
  28.     End With
  29.     Set Rng = Sh.Range("A1").CurrentRegion
  30.     Set Rng = Application.Intersect(Rng, Rng.Offset(1))
  31.     '重新指定 ListBox1清單範圍
  32.     ListBox1.RowSource = Rng.Address
  33. End Sub
  34. Private Sub Ex_清空() '清空 購物清單的程式
  35.     Sh.Range("A1").CurrentRegion.Offset(1).Clear
  36. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)