返回列表 上一主題 發帖

[發問] 根據"料號欄"為依據,做排序

[發問] 根據"料號欄"為依據,做排序

大大們好,

請教如下....
來源檔為商品2!新月工作表       
我有許多的檔案都需要根據"料號欄"的料號順序為依據,做排序       
需排序的每個檔的表頭位置,及內容都不太同,       
目的檔排序的準則為整列排序,若有未出現的料號,則略過       
例:        標示黃底,都是目的檔庫存表沒有的品項,則目的檔的這些料號,就略過,跳下個料號繼續排序
        由於目的檔也會有些工作表與料號無關,不需排序,
        所以需排序的工作表,以"新月"M1:M2所指定的起迄工作表作為排序對象
        並且自動找尋表頭有"料號"字樣,就依"新月"的料號順序整列排序

依新月工作表_料號排序.rar (326.8 KB)

回復 44# 軒云熊

因為在執行程式過程中,執行一次就出現一個對話框,很多、很多次,所以就一直Dim....
這次的程式最近我想要的,感謝您....

TOP

本帖最後由 軒云熊 於 2021-4-27 00:20 編輯

回復 43# PJChen
這段妳看一下 這是指定義為 活頁簿 物件
Dim a1 As Workbook, xS As Worksheet, Sh As Worksheet, wO$, Arr, xD

TOP

回復 42# 軒云熊

熊大,
我沒有要指定路徑,路徑只是自己參考用的,都說了要原寫法,
只是改變3個輸入儲存格位置...而且都修改好了,為何換了一個工作表,程式檔就不能運作?
而且我沒有設定a1,您說的a1是物件 不是變數 ?不理解,我有放什麼物件?

TOP

本帖最後由 軒云熊 於 2021-4-26 23:59 編輯

回復 41# PJChen
因為 妳的a1是物件 不是變數 如果要指定路近 就不需要選擇位置 要改成類似這樣的寫法
'    A1 = Dir(ThisWorkbook.Path & "\" & "商品2.xlsm")
'    Ex.Workbooks.Open ThisWorkbook.Path & "\" & A1
不麻煩 因為我們是互相幫助 ^_^ 我只是要確認妳要的結果而已
有空再幫我試試看 是不是妳要的結果 感謝

Micro_20426.rar (38.84 KB)

TOP

回復 39# 軒云熊

熊大,
雖然我換了一個表格,需填入工作表的格子換了位置而已,其餘的並沒有變動,
如果您認為其他的問題需要大量改程式,就不要麻煩了!
只是想知道...
儲存格位置我都修改好了,為何換了一個工作表,程式檔就不能運作?

TOP

本帖最後由 軒云熊 於 2021-4-26 20:38 編輯

回復 38# PJChen

可以說清楚 現在的邏輯不然這題會改不完  ^^"

TOP

本帖最後由 軒云熊 於 2021-4-26 20:24 編輯

回復 38# PJChen

確定要用 Micro_2 這個檔案嗎? 如果確定 就要重寫因為大部分需求已經不一樣了
如果只用工作表名稱 就改這樣:
'印盤點表~盤點
For X = 1 To Sheets.Count
    If Sheets(X).Name = "印盤點表" Then
        For X1 = X To Sheets.Count
            Sheets(X1).Activate
            If Sheets(X1).Name = "盤點" Then
                Exit For
            End If
        Next X1
    Exit For
    End If
Next X

請問  Micro_2  的 AV2 是 依據 檔案的路近嗎?

TOP

回復 36# 軒云熊
熊大好,

測試結果如下:
1) 已附上平日作業模式的程式檔,還是不能運作
2) 開始 (& 單一排序工作表)設在AZ4/ 結束 設在AZ5
3) 結束 儲存格[AZ5]=0時,就相當於"",所有的欄位因為都有公式,請不要讓它有清除欄位功能
4) 開始 (& 單一排序工作表)/ 結束 的儲存格,無論是否為數字,能有其他寫法,不要用數第x個
For xh = 1 To Sheets.Count
例如:工作表A~工作表8(不是數第8,而是工作表8)
Micro_2.rar (34.3 KB)

TOP

回復 35# PJChen

已改成表單方式 在試試看這樣行不行
如果沒問題 可以存成增益集
不需要用的時候再關閉
0426.rar (24.53 KB)

TOP

        靜思自在 : 真正的愛心,是照顧好自己的這顆心。
返回列表 上一主題