iT邦幫忙

3

Excel VBA 按鈕的巨集設計一問 (下單生產庫存顯示)

弱弱一問, 第一次用設計Excel VBA 按鈕
希望設計一個按鈕來方便輸入數據

我有3個表單分別為A,B和C
A表單是客戶的下單數, 客人每下一單我就會在A表單輸入下單的時間和數量
B表單是生產的記錄, 生產後會在表單上記錄生產的時間和數量
C表單為顯示客戶下了單但還未生產的數量(庫存欠的數量), 即將A表單下單的總數減去B表單生產的總數

現在希望在C表單上設計一個按鈕, 如發現有下了單但未生產的數量,
按下按鈕後能夠把該未生產的數量自動在B表單輸入記錄, 這樣C表單的數字就能變為0, 知道沒有欠數量

效果說明:
A表
https://upload.cc/i1/2020/06/09/9sCNvI.png
B表
https://upload.cc/i1/2020/06/09/NckMlC.png
C表 (按下按鈕後)
https://upload.cc/i1/2020/06/09/NmF1sf.png

B表內自動輸入
https://upload.cc/i1/2020/06/09/LnqHBl.png

C表變回0
https://upload.cc/i1/2020/06/09/gQSj2n.png

求解惑 謝謝m(_ _)m

重點:你是哪邊有問題?
還是希望有人幫你寫?
因為感覺你不像是要人家解惑,而是解決。

如果誤會請見諒。
kykhello iT邦新手 5 級 ‧ 2020-06-09 11:09:37 檢舉
不好意思,
因為沒有寫過, 但查過資料跟自己的情況又不太相近
所以想請教要怎樣寫才能做到QQ

1 個回答

3
海綿寶寶
iT邦大神 1 級 ‧ 2020-06-09 11:57:57
最佳解答

設定讓按鈕執行Production即可

Sub Production()
    Call SetOneValue("A", Sheets("C").Range("D3").Value)
    Call SetOneValue("D", Sheets("C").Range("D4").Value)
    Call SetOneValue("G", Sheets("C").Range("D5").Value)
End Sub
Sub SetOneValue(ByVal sCol As String, ByVal sValue)
    Sheets("B").Select
    Range(sCol & "65535").Select
    Selection.End(xlUp).Offset(1, 0).Select
    ActiveCell.Value = Format(Now(), "mm/dd")   '設定今天日期
    ActiveCell.Offset(0, 1) = sValue            '設定缺少的庫存值
End Sub
看更多先前的回應...收起先前的回應...
kykhello iT邦新手 5 級 ‧ 2020-06-09 13:40:26 檢舉

出現錯誤,說下標超出範圍
是我的問題嗎QQ

應該是
錯在那一列呢?

kykhello iT邦新手 5 級 ‧ 2020-06-10 11:22:50 檢舉

出了這個錯誤訊息https://upload.cc/i1/2020/06/10/48Lzek.png

kykhello iT邦新手 5 級 ‧ 2020-06-10 12:00:43 檢舉

Range(sCol & "65535").Select
是這裡出現問題嗎?

這樣我看不出原因,你可以試試
1.改成 Range(sCol & "1000").Select
2.用「Step單步執行」執行 VBA 看看錯在那一列

kykhello iT邦新手 5 級 ‧ 2020-06-12 08:42:41 檢舉

改了之後同樣說是Range Select有問題Orz

我要發表回答

立即登入回答