返回列表 上一主題 發帖

[發問] 跨工作表並指定儲存格在往下迴圈查詢

  1. Sub 轉出資料()
  2. Dim R&, xR As Range, xE As Range, N&
  3. If [工作表1!A2] = "" Then MsgBox "**尚未填入名稱! ": Exit Sub
  4. R = [工作表1!B65536].End(xlUp).Row - 1
  5. If Application.Sum([工作表1!D2].Resize(R)) = 0 Then
  6.    MsgBox "**尚未填入數量! ": Exit Sub
  7. End If
  8. [工作表2!B6:F200].ClearContents
  9. [工作表2!B2] = [工作表1!A2]
  10. For Each xR In [工作表1!B2].Resize(R)
  11.     If Val(xR(1, 3)) = 0 Then GoTo 101
  12.     N = N + 1
  13.     [工作表2!B5:F5].Offset(N, 0) = xR.Resize(, 5).Value
  14.     '----------------------------
  15.     Set xE = [工作表3!D65536].End(xlUp)(2, -1)
  16.     If N = 1 Then xE(1, 0) = [工作表1!A2]
  17.     xE.Resize(, 5) = xR.Resize(, 5).Value
  18. 101: Next
  19. With [工作表1!D2].Resize(R)
  20.      .Copy [工作表1!H2] '數量貼至備存區, 以供參考
  21.      .ClearContents '清空數量, 待下次重新輸入
  22. End With
  23. [工作表1!A2] = "" '清空名稱, 待下次重新輸入
  24. [工作表1!i2] = Date: [工作表1!i3] = Time '記錄轉出日期時間
  25. End Sub
複製代碼
Xl0000100.rar (16.61 KB)


'=========================

TOP

回復 5# BV7BW


類似"進/銷貨"單吧!
進銷存>牽涉到[新增-查詢-更改-刪除]問題,
這費時耗力, 實無法這樣逐步跟帖,
可自行先網搜找看看有沒現成的檔案範例或程式碼參考!!!

Dim ~~~~  只是定義[變數], 可看vbe說明檔, 或G搜關鍵字__excel vba 變數

TOP

回復 8# BV7BW


看不懂意圖~~
而且進銷單應不可能是如此簡單的格式,
商品項目若很多, 這種格式就不夠使用,
若再考慮後續的統計(例如:月結請款), 資料表也不能這樣設計!!!
================================
也許你可能只是想學習VBA, 但一下就找這種題目, 教個一年半載是跑不掉的,
還是建議去找找現成的帖子看看, 最好也去買VBA基礎書籍,
把基本功打好, 至少得能看懂別人寫的程式碼!

TOP

這是個簡易法, 只有存入, 沒有更改及刪除,
雖是簡單做法, 還是要花大半天寫程式及設計表格:
X0066.rar (24.74 KB)

等完全看得懂裡面的程式碼, 有問題再說~~

TOP

回復 11# BV7BW


看這個表的"品項"約有近800樣(後續可能新增),
光要輸入出貨單(品項應是各種類的混合), 這就大費周章,
整個檔案要完成, 不是短時間!

TOP

本帖最後由 准提部林 於 2020-5-16 21:03 編輯

花了一整天完成此檔, 試看看:
X0066v02.rar (85.27 KB)

進貨部份, 可將檔案複製一份, 修改成所需即可~~
太累, 只能幫到這!!!

檔案可"另存新檔" 為 xlsm, 即可在2007以上使用

TOP

本帖最後由 准提部林 於 2020-5-18 11:58 編輯

回復 14# BV7BW

再整修一番:
X0066v03(出貨作業檔).rar (83.46 KB)

1) 利用定義名稱, 將重要的儲存格定位, 以利往後若有變動時, 較好維謢
2) 客戶表, 應以[編號]為主索引, 是唯一性不可變動, 所以移至最左欄, 名稱則可修改(客戶名稱可能會變動)
3) [出貨單]改由程式控制, 列數依資料自行調整
4) [商品項目]的[編號], 建議由1000開始, 避免以0為開頭, 若能像客戶編號以英文開頭最好,
   可依各種類分別賦于A~Z為首碼(但應避免使用O,I,Q,J,M,W)
   __O/Q像0(零)   I像1,  J/M/W字窄字寬與其它字元看起來不對齊(除非設為-細明體)

TOP

回復 17# BV7BW

1) 採購員核對資料表
2) 分發至菜商採購表
這兩表看起來是一樣的, 只是採購多了空白行去隔開 ???

開于提及第1版你較好理解的問題, 因那對我來說只是草稿性質,
它也只提供輸入及轉存的功能, 當然以最簡單的程式即可解決!

後來陸續追加的問題及需求, 為了減少人工輸入作業(尤其是商品分類分區建立, 在選單上有其困難度),
也為了讓使用者, 僅憑表上的按鈕即可操作, 所以程式會複雜化(複雜化的程式是為了達到操作簡易),
任何生手只要稍教幾次, 都可上手!

因此, 會與你的需求有所違差!


'=================================

TOP

回復 17# BV7BW


3) 給司機核對各客戶訂貨上籃及上車用(客戶配貨表)
一般送貨員不是都用"送貨單"的內容去撿貨裝箱嗎??? 不然怎麼簽收及對帳請款???
要將各品項+客戶編號及名稱, 這就變成二維表, 用樞紐分析表即可達成, 但應不合你的需求,
但你只提供草稿, 並未建置表格樣式, 實在難辦, 以下我做三個樣板:






這三個都不好弄, 若客戶名稱太長或長短不一, 整張就很亂~~~
參考即可!

實在挪不出時間寫這些, 或者是我將你的需求想複雜了,
也許請其他大大幫忙, 說不定可做到更合適的檔案!!!



===========================================

TOP

回復 20# BV7BW


你要加客戶編號及名稱, 要怎麼表現???

TOP

        靜思自在 : 唯其尊重自己的人,才更勇於縮小自己。
返回列表 上一主題