EXCEL 資料查詢的巨集使用

匿名
2023-05-15T12:54:34+00:00

EXCEL 資料查詢的巨集使用

目的:希望能建立一個 巨集 能從客戶資料中快速搜尋訂單

資料庫 大致如下

希望建立的巨集如下 /輸入 月跟日 能把當天需要出貨的訂單整列拉出來

資料庫會一直更新資料

我有嘗試使用 錄製巨集 卻不適合我想要的模式 (因為資料會一值更新 )

圈起來兩處是我認為 資料更新無法 克服的地方

希望能有人 幫我解惑

1.如何創出我需要的巨集

2.我錄製的巨集能怎麼做修正

萬分感謝

Microsoft 365 與 Office | Excel | 家用版 | Windows

鎖定的問題。 此問題已從 Microsoft 支援服務社群移轉。 您可以對其是否有幫助進行投票,但無法對問題新增註解或回覆,或進行追蹤。

0 則留言 沒有留言

16 個回答

排序依據: 最實用
  1. 匿名
    2023-05-17T19:49:17+00:00

    嗨,大頭陳!

    很抱歉,很遺憾,我沒有任何進一步的故障排除可以提供。

    論壇上有許多知識淵博的使用者,我希望其他人可以對您的問題提供進一步的見解。

    親切問候 沙基魯

    這回覆已被自動翻譯,因此,可能出現文法錯誤或表達不當。

    此回答有幫助嗎?

    0 則留言 沒有留言
  2. 匿名
    2023-05-17T16:42:46+00:00

    謝謝大神

    之前你提點的我有去研究 但因為入門 門檻太高 我短時間還不能了解

    後來我在資料庫多建立了一欄日期欄後 有成功創出一套巨集是可行的

    但套用在真正要使用的資料庫上 就又出現錯誤 心好累 哈哈哈哈

    這是我後來修正後的CODE


    Public Sub MyFilter()

    Dim lngStart As Long, lngEnd As Long 
    
        Sheets("訂單整理").Select 
    
    lngStart = Range("I6").Value 'assume this is the start date 
    
    lngEnd = Range("I7").Value 'assume this is the end date 
    
    Range("P1:P3000").AutoFilter Field:=1, \_ 
    
        Criteria1:=">=" & lngStart, \_ 
    
        Operator:=xlAnd, Criteria2:="<=" & lngEnd 
    
    Range("A1:O3000").Select 
    
    Selection.Copy 
    
    Sheets.Add After:=Sheets(Sheet.Count) 
    
    Sheets(Sheets.Count).Name = Range("I6").Value 
    
    Range("A1").Select 
    

    ActiveSheet.Paste

    Selection.Columns.AutoFit 
    
    Sheets("訂單整理").Select 
    
    ActiveSheet.Range("$P$2:$P$9").AutoFilter Field:=1 
    
    Sheets("查詢").Select 
    
    Range("R5").Select 
    
    Application.CutCopyMode = False 
    
    ActiveCell.FormulaR1C1 = "ok" 
    
    Range("R5").Select 
    

    End Sub


    這是我的資料庫

    再次感謝你花時間 替我想辦法 謝謝

    此回答有幫助嗎?

    0 則留言 沒有留言
  3. 匿名
    2023-05-17T16:37:32+00:00

    這是我後來的版本 在當初創建的時候是可以成功運行的

    但後來套到我的資料庫 就又出現錯誤 請問你能看得出是哪邊出錯了嗎?


    Public Sub MyFilter()

    Dim lngStart As Long, lngEnd As Long 
    
        Sheets("訂單整理").Select 
    
    lngStart = Range("I6").Value 'assume this is the start date 
    
    lngEnd = Range("I7").Value 'assume this is the end date 
    
    Range("P1:P3000").AutoFilter Field:=1, \_ 
    
        Criteria1:=">=" & lngStart, \_ 
    
        Operator:=xlAnd, Criteria2:="<=" & lngEnd 
    
    Range("A1:O3000").Select 
    
    Selection.Copy 
    
    Sheets.Add After:=Sheets(Sheet.Count) 
    
    Sheets(Sheets.Count).Name = Range("I6").Value 
    
    Range("A1").Select 
    

    ActiveSheet.Paste

    Selection.Columns.AutoFit 
    
    Sheets("訂單整理").Select 
    
    ActiveSheet.Range("$P$2:$P$9").AutoFilter Field:=1 
    
    Sheets("查詢").Select 
    
    Range("R5").Select 
    
    Application.CutCopyMode = False 
    
    ActiveCell.FormulaR1C1 = "ok" 
    
    Range("R5").Select 
    

    End Sub


    系統標註這行 是錯誤的

    我的使用介面

    我的資料庫

    此回答有幫助嗎?

    0 則留言 沒有留言
  4. 匿名
    2023-05-17T11:16:49+00:00

    你可以先用一些免費資料庫工具,包含 Office 內建的 Power Query 測試當資料庫查詢的結果是否符合需求。

    另,論壇有簽名檔功能。

    此回答有幫助嗎?

    0 則留言 沒有留言
  5. 匿名
    2023-05-16T18:29:14+00:00

    嗨,大頭陳!

    你還有什麼問題嗎?

    如果您需要其他説明,請告訴我,我將很樂意為您提供進一步的説明。

    此致敬意

    這回覆已被自動翻譯,因此,可能出現文法錯誤或表達不當。

    此回答有幫助嗎?

    0 則留言 沒有留言