- 帖子
- 913
- 主題
- 150
- 精華
- 0
- 積分
- 1089
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- office 2019
- 閱讀權限
- 50
- 性別
- 女
- 註冊時間
- 2011-8-28
- 最後登錄
- 2023-7-19
 
|
12#
發表於 2017-8-15 22:49
| 只看該作者
請高人指點:
情形一,單獨排序時沒問題- Option Explicit
- Dim 目的檔 As Workbook, 來源檔 As Workbook
- Sub sorting()
- Dim xRng As Range
- File_settings 目的檔, "ERP_Data.xlsx"
- With 目的檔.Sheets("庫存")
- .Cells.Sort Key1:=.Columns("AD"), Key2:=.Columns("G"), Header:=xlYes
- End With
- 目的檔.Save
- End Sub
- '**********來源檔是同VBA報表指令的資料夾\FromERP\*********
- Sub File_settings(xFile As Workbook, 工作頁 As String) '檔案設定
- Dim xPath As String
- xPath = ThisWorkbook.Path & "\"
- If UCase(工作頁) <> UCase("ERP_Data.XLSX") Then xPath = xPath & "FromERP\"
- On Error Resume Next
- Set xFile = Workbooks(工作頁)
- If Err > 0 Then Set xFile = Workbooks.Open(xPath & 工作頁)
- If xFile.Name = "" Then
- MsgBox "請查看 " & vbLf & xPath & vbLf & "是否有 [" & 工作頁 & "]"
- End
- End If
- End Sub
複製代碼 情形2,在以下中排序,卻一直排錯,是哪裡出問題?- Option Explicit
- Dim 目的檔 As Workbook, 來源檔 As Workbook
- Sub 庫存更新()
- Dim xRng As Range
- File_settings 來源檔, "庫存資料表.xlsx"
- File_settings 目的檔, "ERP_Data.xlsx"
- '*********************************************************
- With 來源檔.Sheets(1)
- Set xRng = .UsedRange 'UsedRange->工作表所使用的範圍,如A:AA之後再也沒資料
- xRng.Copy 'A:AA複製到目的檔B:AB
- End With
- With 目的檔.Sheets("庫存")
- .Range("B1").PasteSpecial xlPasteValues '選擇性貼上
- End With
- With 目的檔.Sheets("庫存")
- .Cells.Sort Key1:=.Columns("AD"), Key2:=.Columns("G"), Header:=xlYes
- End With
- 來源檔.Close False
- 目的檔.Save
- End Sub
- '**********來源檔是同VBA報表指令的資料夾\FromERP\*********
- Sub File_settings(xFile As Workbook, 工作頁 As String) '檔案設定
- Dim xPath As String
- xPath = ThisWorkbook.Path & "\"
- If UCase(工作頁) <> UCase("ERP_Data.XLSX") Then xPath = xPath & "FromERP\"
- On Error Resume Next
- Set xFile = Workbooks(工作頁)
- If Err > 0 Then Set xFile = Workbooks.Open(xPath & 工作頁)
- If xFile.Name = "" Then
- MsgBox "請查看 " & vbLf & xPath & vbLf & "是否有 [" & 工作頁 & "]"
- End
- End If
- End Sub
複製代碼 |
|