返回列表 上一主題 發帖

[發問] 工作表複製跨另一檔案工作表

[發問] 工作表複製跨另一檔案工作表

各位 前輩先進 大家好

如何將工作表中資料複製到另一工作表.
並複製跨檔案中另一工作表存檔.
"複製貼上資料時以下1行貼上"
謝謝指教 工作表存檔.zip (42.12 KB) 訂貨明細存檔.zip (15.44 KB)
敏而好學,不恥下問

本帖最後由 n7822123 於 2021-7-24 15:28 編輯

回復 1# BV7BW


你講的有些籠統~

大概寫一個給你,在"訂貨明細表"隨意選擇有資料的一格,執行以下程式

即可複製該列,到同檔另1工作表,以及不同檔的工作表

程式預設兩個檔案都在同一個資料夾下(可自行調整程式內的 輸出路徑輸出檔名)


Sub Test()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Ri& = Selection.Row
Cn& = [A1].End(2).Column
Cells(Ri, 1).Resize(, Cn).Copy
[明細存檔!A1].End(4)(2).PasteSpecial  '複製到另工作表(同檔案)
'===以下為複製到另一檔案工作表===
oPath$ = ThisWorkbook.Path   '自定輸出路徑
oFile$ = "訂貨明細存檔.xlsm"     '自定輸出檔名
On Error Resume Next
Set oWb = GetObject(oPath & "\" & oFile)    '背景開啟
If Err <> 0 Then MsgBox "找不到輸出檔 '" & oPath & "\" & oFile & "',請確認!": GoTo Over
On Error GoTo 0
oWb.Sheets(1).[A1].End(4)(2).PasteSpecial  '複製到另工作表(不同檔案)
Windows(oFile).Visible = True  '關閉前取消背景隱藏
oWb.Close 1: Set oWb = Nothing
Over: Application.CutCopyMode = False
End Sub
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 1# BV7BW


另類管理表供參考!
1.如果資料量不大! 建議不需要拆成兩份表! 用篩選方式即可區別出貨.未出貨或取消訂單…等         歷史資料查詢也方便                                                                                                               
2.很多空欄位是備用欄! 可方便增加資料欄且不必修改程式碼!                                                                                                               
3.善用篩選功能!                                                                                                               
以上供參考!

訂貨出貨管理-1.zip (44.39 KB)

TOP

回復 2# n7822123
感謝 n7822123 阿龍大大

經測試後.複製至另一工作表"明細存檔"只有1行.是否可整工作表"訂貨明細表"中所有資料1次全複製至"明細存檔"中
並"複製貼上資料時以下1行接上貼上"

複製到另一檔案工作表則無法進行.不知哪裡錯誤
需求是:將"訂貨明細表"中所有資料複製至另一檔案"訂貨明細存檔"中工作表"訂貨明細表存檔"
並"複製貼上資料時以下1行接上貼上"

   謝謝  n7822123 阿龍大大 指導
敏而好學,不恥下問

TOP

回復 3# Andy2483
感謝 anby2483 大大 你好

感謝 大大所提供解答

抱歉.因單純複製貼上.
故無法測試 anby2483 大大 指導項目進行測試
     感謝 anby2483 大大
      謝謝你
敏而好學,不恥下問

TOP

回復 5# BV7BW


    路過 純經驗分享!

TOP

回復 6# Andy2483
感謝 anby2483 大大

謝謝你
敏而好學,不恥下問

TOP

本帖最後由 n7822123 於 2021-7-25 13:08 編輯

回復 4# BV7BW

開啟訂貨明細表,執行以下程式

訂貨明細存檔 有開啟、沒開啟,隨意

試試看


Sub Test()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
[訂貨明細表!A1].CurrentRegion.Offset(1).Copy
[明細存檔!A1].End(4)(2).PasteSpecial
'===以下為複製到另一檔案工作表===
oPath$ = ThisWorkbook.Path   '自定輸出路徑
oFile$ = "訂貨明細存檔.xlsm"     '自定輸出檔名
oSNm$ = "訂貨明細表存檔"        '自定輸出表名
On Error Resume Next
Set oWb = Workbooks(oFile$)
If Err <> 0 Then Err.Clear: Set oWb = Workbooks.Open(oPath & "\" & oFile)
If Err <> 0 Then MsgBox "找不到輸出檔 '" & oPath & "\" & oFile & "',請確認!": GoTo Over
On Error GoTo 0
oWb.Sheets(oSNm).[A1].End(4)(2).PasteSpecial  '複製到另工作表(不同檔案)
oWb.Close 1: Set oWb = Nothing
Over: Application.CutCopyMode = False
End Sub
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2021-7-25 14:01 編輯

回復 4# BV7BW


複製到另一檔案工作表則無法進行.不知哪裡錯誤

二樓程式是預設你的輸出檔案 "訂貨明細存檔.xlsm" 是未開啟狀態

如果你原本就開啟,程式重複開啟自動取消複製狀態,也就沒辦法貼上了

8樓程式增加彈性,原本有開啟、沒開啟都適用 (彈性越大,通常程式碼越長,所以請盡量敘述清楚)

並修改全資料複製(標題除外),但是程式結束,是預設統一把輸出檔關閉~

另外我看你很多巨集按鈕都設在 "訂貨明細表",所以我的程式也是預設在那裡

程式執行前,請切回"訂貨明細表",在不同活頁簿狀態,8樓程式還是會出錯(找不到Copy來源)
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 9# n7822123

感謝 n7822123 阿龍大大 你好

謝謝你指導.再理解過後.再向你祥述

再次謝謝你  n7822123 阿龍大大
敏而好學,不恥下問

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題