返回列表 上一主題 發帖

[發問] (謝謝多位版主的大力幫忙,完成)如何將定義延伸成可以手動修改?(自訂表單)

回復 3# av8d


    這應該是公用變數設置的技巧就能解決
你是在此主程式中要引用w變數
在一般模組宣告公共變數w
  1. Public w$
複製代碼
開啟檔案時先將w給值
  1. Sub auto_open()
  2. w = "家用,早餐,午餐,晚餐"
  3. End Sub
複製代碼
執行修改程序
  1. Sub 修改()
  2. w = InputBox("輸入逗點分隔字串", , w)
  3. End Sub
複製代碼
主程式
  1. Sub test()
  2. MsgBox w
  3. End Sub
複製代碼
公用變數.rar (7.78 KB)
1

評分人數

學海無涯_不恥下問

TOP

回復 7# av8d
這個問題已經回答到這程度,你應該要去了解變數是如何運作的
既然已經用到定義名稱來儲存字串
那麼,w變數就是該定義名稱的內容
之後在整個活頁簿內要調用這個字串
只要呼叫該名稱即可
  1. Sub auto_open() '開啟檔案時觸發此程序
  2. Dim n As Name
  3. For Each n In ThisWorkbook.Names '檢查活頁簿內的名稱
  4.    If n.Name = "逗點分隔字串" Then Exit Sub '如果此名稱存在就離開程序
  5. Next
  6. ThisWorkbook.Names.Add "逗點分隔字串", "家用,早餐,午餐,晚餐", 0 '加入隱藏的名稱
  7. End Sub

  8. Sub 主程序()
  9. w = [逗點分隔字串] '取出名稱內容賦給變數
  10. MsgBox w
  11. End Sub
  12. Sub 修改()
  13. Dim mystr$
  14. mystr = InputBox("輸入逗點分隔字串", , [逗點分隔字串]) '輸入新字串
  15. If mystr = "" Then MsgBox "字串不得為空白": Exit Sub '避開空字串取代原定義內容
  16. Names("逗點分隔字串").Value = mystr '將新字串寫入名稱
  17. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題