返回列表 上一主題 發帖

[發問] listbox rowsource用法

本帖最後由 singo1232001 於 2021-7-17 02:19 編輯

回復 2# wang077


綁原始資料來源
就是呈現資料來源

如果要不同的資料呈現
創個新的暫存工作表
把要的資料貼在那張表上
在用ListBox去連結新表

否則抬頭會被切

另外 我沒有試過用陣列綁
如果創表不喜歡
可以試著綁陣列看看
但不確定 我沒綁過

但我印象這個好像是用迴圈+判斷 然後 add 一筆一筆加的?

TOP

本帖最後由 singo1232001 於 2021-7-17 16:17 編輯

回復 3# singo1232001

抱歉!今天玩了一下
    補充 並修正 我自己說過的部分

listbox匯入資料時 分成兩種方式
1    RowSource綁定繫結方式 只要用上RowSource之後 listbox 內中的任何資料 ,無法再做變更,唯讀模式
1.0 破解小技巧:可新創一個隱藏工作表當作listbox暫存區 ,只要將資料整理號放入新工作表即可(最推薦又最快的做法)
1.1 若原本被綁定的工作表範圍內資料有任何變動 listbox內的資料 會同步變動(所以想改listbox內的資料 就要去改暫存用的工作表)
1.2 綁定工作表範圍 必定相連 不可分割 不可單選 不可union
1.3 不可additem 不可removeitem
1.4 標頭不用列入範圍內 只要RowSource綁下一列 後續加上 ListBox1.ColumnHeads = True 第一列的標頭就會產生

2     .additem資料逐筆匯入方式
2.1 原始資料與listbox內的資料不同步 哪邊變動都不影響另一邊
2.2 每列都必須先.additem 才可利用list 放入資料 資料可從任何類型匯入 工作表,陣列,外部資料庫
       (也可以不用迴圈,直接整張陣列一次匯入)
2.3  必須用.ColumnCount = 4  去創造欄位 (4為欄位數量)
2.4  必須用.ColumnWidths = "20,20,20,20"     '設置每個欄位數寬度 20為寬度pt
2.5  .RowSource = True 標頭可以另外添加 但無法變更抬頭 就很無奈是個空白
2.6  另外用各種控件改裝標頭 也會碰上資料量多的時候 水平滾輪 不會跟著一起影響改裝標頭的水平橫移(感覺office完全不想理這件事情了)
       想當然 如果資料不會太長 超過水平寬度 當然就沒問題能爽用

3     ListView
3.1 聽說很好用(目前還在學,有學了但不是很熟)
3.2  與新版excel2016 2019兼容但需手動安裝 以前是自動兼容
        (也可能我講反 可能是2003 2007 不支援 要額外下載安裝包)
        (但好像也有說是32位元的office無法安裝) 進excel>檔案>帳戶>關於excel 裡面有位元
        拍謝無法確定
3.3  必須在檔案內寫一篇 如何手動安裝控件的說明 或者請人上網查 每換台電腦都需要重新設定一次
3.4  盡量寫出 控件失敗的警告提示模組 避免不知者 在沒安裝的情況下開啟 到時候開發者就會費時費力變冤大頭


順便討論整理蒐集到的資訊
有錯煩請糾正一下 謝謝大神們

TOP

本帖最後由 singo1232001 於 2021-7-17 16:35 編輯

回復 7# singo1232001


另外這是去年 還不會"陣列" 跟 "set"方式時寫的測試檔
很陽春 很菜 很多bug
但或許因為很直接很直白 或許比較好讀
將就著看
而且我覺得這是一個練習"OOP物件導向"的好題目!
但這兩份檔案 我都沒用上OOP
硬著頭皮暴力code

如何製作listbox新修刪封 v2.zip (91.2 KB)

如何製作listbox刪除復原修改訂單.zip (62.79 KB)

TOP

本帖最後由 singo1232001 於 2021-7-18 21:21 編輯

回復 15# wang077


    我用字典搭配測試  可參考

test_v1.zip (41.71 KB)

TOP

        靜思自在 : 手心向下是助人,手心向上是求人;助人快樂,求人痛苦。
返回列表 上一主題