Board logo

標題: [發問] 設計一個表單 [打印本頁]

作者: vuptp6    時間: 2020-4-25 12:39     標題: 設計一個表單

表單有多個物件

舉例遇到的問題
ComboBox1 (name) 改成 料號1
ComboBox2 (name) 改成 料別1
TextBox1 (name) 改成 數量1

執行"表單"時分別選擇了數值
料號1 = 2219-007
料別1 = 保管料
數量1 = 30
按下確定時卻在選擇"保管料"工作表時錯誤了 Worksheets(料別1).Select

程式如下
    '開啟料號資料庫
    Workbooks.Open ThisWorkbook.Path & "\資料庫\" & 料號1 & ".xlsx"
    '選擇料別
    Worksheets(料別1).Select       <===在這行停止了

警告是
執行階段錯誤 '13':
型態不符合

請問文字不是可以直接帶入嗎?  
帶入的型態是這樣嗎? Worksheets("保管料").Select ?
作者: GBKEE    時間: 2020-4-25 14:39

回復 1# vuptp6
ComboBox2 (name) 改成 料別1
** 所以  料別1是ComboBox物件**
  1.   Worksheets(料別1.Value).Select  '**物件的值
  2.   Worksheets(料別1&"").Select    '**物件&""  轉成文字
複製代碼

作者: vuptp6    時間: 2020-4-25 14:55

回復 2# GBKEE


   謝謝 GBKEE大
   結果我突然有想到要改成值:loveliness: :loveliness:
   也就是加上 ".value" 就解決了
   謝謝~~~~
作者: vuptp6    時間: 2020-4-26 08:48

本帖最後由 vuptp6 於 2020-4-26 08:50 編輯

再請問GBKEE大
如果表單有許多物件
但許多都是相似重複的
[attach]31956[/attach]
我卻只會土法煉鋼例如

    '開啟料號1
    Workbooks.Open ThisWorkbook.Path & "\資料庫\" & 料號1 & ".xlsx"
    '選擇料別1
    Worksheets(料別1.Value).Select
    '減去數量1
    Worksheets(料別1.Value).Range("F" & i) = "-" & val(數量1)
   ...
    '開啟料號2
    Workbooks.Open ThisWorkbook.Path & "\資料庫\" & 料號2 & ".xlsx"
    '選擇料別2
    Worksheets(料別2.Value).Select
   '減去數量2
    Worksheets(料別2.Value).Range("F" & i) = "-" & val(數量2)
     ...
     ...

就一直重複同樣的1到9
但這樣程序變得很大
大到無法執行
能用迴圈改嗎??
作者: 准提部林    時間: 2020-4-26 10:42

For i = 1 To 2
    MsgBox Me("料號" & i).Value & "//" & CStr(Me("料別" & i)) & "//" & Val(Me("數量" & i))
Next i
作者: vuptp6    時間: 2020-4-26 14:46

回復 5# 准提部林

謝謝版主幫我瘦身有成:loveliness: :loveliness:




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