返回列表 上一主題 發帖

[發問] 如何複製表格到別的工作表

回復 10# brabus
  1. Private Sub CommandButton1_Click()

  2. fs = Application.GetOpenFilename("Excel Files (*.xls), *.xls") '開啟目的檔案
  3. With Workbooks.Open(fs)
  4.   ThisWorkbook.Sheets("工作表1").Columns("B:D").Copy .Sheets("資料確認").[B1] '複製資料
  5.   ThisWorkbook.Sheets("工作表1").Range("h21:j60").Copy .Sheets("資料確認").[h21]
  6. End With
  7. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 11# Hsieh
Hsieh大大跟您報告
後面的指令都一樣
我是少寫ThisWorkbook..所以這樣他會抓到別的工作表去嗎??
jeason

TOP

回復 12# brabus

因為你的按鈕做在別的工作表
所以若不指定檔案
會造成指定目前開啟的檔案
所以指明thisworkbook就能抓到巨集所在的檔案
學海無涯_不恥下問

TOP

回復 13# Hsieh


   了解
感恩你的回覆
謝謝
jeason

TOP

想再問一下
現在要copy的檔案變多了
有時會忘了那個己經複製過,那些沒有,或者按錯,而有漏掉沒複制到的檔
結果會出錯
請問有沒有可能寫一個指令
就把資料夾"小肥肥"裡面的20~30或更多檔案的"資料確認"全部複制好,不用一個一個點選
再去複制呢?
謝謝
jeason

TOP

感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 16# GBKEE [/b
對不起我這幾天比較沒空
到今天才有時間來看您的回覆
可是我看不太懂您的回覆(哈哈,我比較笨)
我把需求再說明一次
附件中解開有有一個excel檔案叫我是主要資料,這是要copy的主檔
檔案夾中有一個"檔案資料"夾,裡面應該有20~30個檔案(我沒有全部作)
檔名不一定,但都是excel檔
我現在想要在我是主要資料excel中作一個按鈕
他可以把"我是主要資料"中的"資料確認"工作表
copy到檔案資料夾內所有(20~30個)檔案的:資料確認"工作表
檔案資料的放路徑不一定在那
但可以用Application.GetOpenFilename("Excel Files (*.xls), *.xls") 來取得
請您幫我看看怎麼處理比較好.謝謝

新資料夾.rar (21.18 KB)

jeason

TOP

回復 17# brabus


試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xPath As String, xFile As String, AR(), i As Integer
  4.     With Application.FileDialog(msoFileDialogFolderPicker)
  5.        '.InitialFileName = "D:\TEST\"   '可預定資料夾
  6.         If .Show = True Then xPath = .SelectedItems(1)
  7.         '.Show = True  :檔案對話方塊中按下確定->選定資料夾
  8.     End With
  9.     If xPath = "" Then MsgBox "沒有選擇資料夾 !!", vbQuestion : Exit Sub
  10.     AR = Workbooks("我是主要資料.xls").Sheets("資料確認").UsedRange.Value
  11.     xFile = Dir(xPath & "\*xls", vbDirectory)  '選定資料夾中搜尋指定類型的檔案
  12.     Application.ScreenUpdating = False
  13.     Do While xFile <> ""                       '有找到指定類型的檔案
  14.         With Workbooks.Open(xPath & "\" & xFile)
  15.             .Sheets("資料確認").[a1].Resize(UBound(AR), UBound(AR, 2)) = AR
  16.             .Close True   '關閉存檔
  17.         End With
  18.         xFile = Dir   '依序 下一個指定類型的檔案
  19.     Loop
  20.     Application.ScreenUpdating = True
  21. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

謝謝GBKEE大大回覆

我來試試,有問題再跟您請教
jeason

TOP

回復 18# GBKEE

請問GBKEE大大
我在12月中旬時有請問您,如何複製表格到別的工作表中,承蒙您回覆,後來因個人身體因素,直到現在才有空試用
經修正執行後出現"陣列索引超出範圍",我附上檔案,請您幫我看看該如何修正,謝謝,祝您聖誕節快樂

設定用.rar (13.64 KB)

新增資料夾.rar (57.26 KB)

jeason

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題