急!急!想請問寫出選擇性匯入資料的方法(已有一段程式碼,但不知道如何改寫))
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 6# iverson105
對你的說明沒有很明白
試試看下面程式碼對嗎!- Option Explicit
- Sub Ex()
- Dim fds, i As Integer, Rng As Range, XSh As Worksheet, Sh As Worksheet
- fds = Application.GetOpenFilename("Excel Files (*.xlsm;*.xlsx), *.xlsm;*.xlsx", , , , True)
- If IsArray(fds) Then
- Set Rng = Sheets("工作表2").Cells(Rows.Count, "a").End(xlUp) ' 的sheet(ie:"工作表2")的A1開始
- If Rng <> "" Then Set Rng = Rng.Offset(1)
- For i = 1 To UBound(fds)
- With Workbooks.Open(fds(i))
- For Each Sh In .Sheets
- ' If InStr(Sh.Name, "XXX") Then '可加上條件 有指定工作名稱
- Sh.[A39:D99].Copy Rng '但每個sheet裡 我只要Range("A39:D99"),
- Set Rng = Sheets("工作表2").Cells(Rows.Count, "a").End(xlUp).Offset(1)
- Debug.Print Rng.Address
- 'End If
- Next
- .Close 0
- End With
- Next
- End If
- End Sub
複製代碼 |
|
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 8# iverson105 - Option Explicit
- Sub Ex()
- Dim fds, i As Integer, Rng As Range, x_Sh As Worksheet, Sh As Worksheet
- fds = Application.GetOpenFilename("Excel Files (*.xlsm;*.xlsx), *.xlsm;*.xlsx", , , , True)
- If IsArray(fds) Then
- Set x_Sh = ThisWorkbook.Sheets("工作表2") '你指定複製資料到的工作表
- Set Rng = x_Sh.Cells(Rows.Count, "a").End(xlUp) '
- If Rng <> "" Then Set Rng = Rng.Offset(1)
- For i = 1 To UBound(fds)
- With Workbooks.Open(fds(i)) '開啟指定的檔案
- For Each Sh In .Sheets
- If InStr(UCase(Sh.Name), "SHEETC") Then '你所指定的工作表名稱"SHEETC"
- Sh.[A39:D99].Copy Rng '**A39:D99 你要複製的範圍
- Set Rng = x_Sh.Cells(Rows.Count, "a").End(xlUp).Offset(1)
- End If
- Next
- .Close 0
- End With
- Next
- End If
- End Sub
複製代碼 |
|
|
|
|
|
|
|