Note: The other languages of the website are Google-translated. Back to English
English English

Excelで複数のブックをXNUMXつのマスターブックに結合するにはどうすればよいですか?

複数のブックをExcelでマスターブックに結合する必要があるときに行き詰まったことがありますか? 最もひどいことは、組み合わせる必要のあるワークブックに複数のワークシートが含まれていることです。 そして、複数のワークブックの指定されたワークシートのみをXNUMXつのワークブックに結合する方法は? このチュートリアルでは、問題を段階的に解決するのに役立ついくつかの便利な方法を示します。


移動またはコピー機能を使用して、複数のワークブックをXNUMXつのワークブックに結合します

結合する必要のあるブックがXNUMXつしかない場合は、[移動]または[コピー]コマンドを使用して、ワークシートを元のブックからマスターブックに手動で移動またはコピーできます。

1.マスターワークブックにマージするワークブックを開きます。

2.マスターワークブックに移動またはコピーする元のワークブックのワークシートを選択します。

注意:

1)。 を押したまま、隣接していない複数のワークシートを選択できます。 Ctrlキー キーを押して、シートタブをXNUMXつずつクリックします。

2)。 複数の隣接するワークシートを選択するには、最初のシートタブをクリックして、 シフト キーを押し、最後のシートタブをクリックしてすべてを選択します。

3)。 任意のシートタブを右クリックして、をクリックすることができます すべてのシートを選択 コンテキストメニューから、ワークブック内のすべてのワークシートを同時に選択します。

3.必要なワークシートを選択したら、[シート]タブを右クリックし、[ 移動またはコピー コンテキストメニューから。 スクリーンショットを参照してください:

4.次に、 移動またはコピー ダイアログがポップアップします。 予約する ドロップダウンで、ワークシートを移動またはコピーするマスターワークブックを選択します。 で終了する移動を選択します シート前 ボックス、チェックボックス コピーを作成する ボックスをクリックし、最後に OK ボタン。

次に、XNUMXつのワークブックのワークシートをXNUMXつにまとめて表示できます。 上記の手順を繰り返して、ワークシートを他のワークブックからマスターワークブックに移動してください。


複数のワークブックまたは指定したシートのワークブックをVBAを使用してマスターワークブックに結合します

複数のワークブックをXNUMXつにマージする必要がある場合は、次のVBAコードを適用してすばやく実現できます。 次のようにしてください。

1.結合するすべてのワークブックを同じディレクトリの下にXNUMXつにまとめます。

2. Excelファイルを起動します(このワークブックがマスターワークブックになります)。

3。 プレス 他の + F11 キーを押して アプリケーション用のMicrosoftVisual Basic 窓。 の中に アプリケーション用のMicrosoftVisual Basic ウィンドウ、クリック インセット > モジュール、次に以下のVBAコードをモジュールウィンドウにコピーします。

VBAコード1:複数のExcelブックをXNUMXつにマージする

Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub
	

注意:

1.上記のVBAコードは、マージ後も元のワークブックのシート名を保持します。

2.マスターワークブックのどのワークシートがマージ後にどこから来たのかを区別したい場合は、以下のVBAコード2を適用してください。

3.ワークブックの指定されたワークシートをマスターワークブックに結合するだけの場合は、以下のVBAコード3が役立ちます。

VBAコードでは、「C:\ Users \ DT168 \ Desktop \ KTE \」はフォルダパスです。 VBAコード3では、 "Sheet1、Sheet3"は、マスターワークブックに結合するワークブックの指定されたワークシートです。必要に応じて変更できます。

VBAコード2:ワークブックをXNUMXつにマージします(各ワークシートには、元のファイル名のプレフィックスが付いた名前が付けられます):

Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
    Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
    xStrAWBName = ActiveWorkbook.Name
    For Each xWS In ActiveWorkbook.Sheets
    xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
    Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
    xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
    Next xWS
    Workbooks(xStrAWBName).Close
    xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

VBAコード3:指定したワークブックのワークシートをマスターワークブックにマージします。

Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next

xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"

xArr = Split(xStrName, ",")

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

4。 プレス F5 コードを実行するためのキー。 次に、特定のフォルダー内のワークブックのすべてのワークシートまたは指定されたワークシートが、マスターワークブックに一度に結合されます。


複数のワークブックまたは指定したシートのワークブックをXNUMXつのワークブックに簡単に組み合わせる

幸いにも、 組み合わせる のワークブックユーティリティ Kutools for Excel 複数のワークブックをXNUMXつにマージするのがはるかに簡単になります。 複数のブックを組み合わせてこの関数を機能させる方法を見てみましょう。

申請する前に Kutools for Excelについては 最初にダウンロードしてインストールします.

1.新しいワークブックを作成し、をクリックします クツールズプラス > 組み合わせる。 次に、結合されたすべてのブックを保存する必要があり、保護されたブックに機能を適用できないことを通知するダイアログが表示されます。をクリックしてください。 OK ボタン。

2。 の中に ワークシートを組み合わせる ウィザード、選択 ワークブックの複数のワークシートをXNUMXつのワークブックに結合します オプションをクリックしてから、 次へ ボタン。 スクリーンショットを参照してください:

3。 の中に ワークシートを組み合わせる-ステップ2/3 ダイアログボックスで 追加 > フィレット or フォルダ Excelファイルを追加するには、XNUMXつにマージします。 Excelファイルを追加したら、をクリックします。 終了 ボタンをクリックし、マスターワークブックを保存するフォルダーを選択します。 スクリーンショットを参照してください:

これで、すべてのワークブックがXNUMXつにマージされました。

上記のXNUMXつの方法と比較すると、 Kutools for Excel 次の利点があります。

  • 1)すべてのワークブックとワークシートがダイアログボックスに一覧表示されます。
  • 2)マージから除外するワークシートについては、チェックを外してください。
  • 3)空白のワークシートは自動的に除外されます。
  • 4)マージ後、元のファイル名がシート名のプレフィックスとして追加されます。
  • この機能のその他の機能については、 こちらをご覧ください.

  このユーティリティの無料トライアル(30日)をご希望の場合は、 クリックしてダウンロードしてください、次に、上記の手順に従って操作を適用します。


Excel用Kutools- あなたが常に前もって仕事を終えて、人生を楽しむためにより多くの時間を持っているのを助けます
仕事に追いついたり、自分や家族のために過ごす時間がないことはよくありますか?  Kutools for Excel 80%のExcelパズルに対処し、80%の作業効率を向上させ、家族の世話をして人生を楽しむためのより多くの時間を与えることができます。
300の作業シナリオに対応する1500の高度なツールにより、作業がこれまでになく簡単になります。
数式やVBAコードを覚える必要がなくなったので、これからは脳を休ませてください。
複雑で繰り返される操作は、数秒でXNUMX回の処理で実行できます。
毎日何千ものキーボードとマウスの操作を減らし、今は職業病に別れを告げましょう。
3分でExcelのエキスパートになり、すぐに認知され、昇給のプロモーションを手伝ってください。
110,000万人の非常に効果的な人々と300以上の世界的に有名な企業の選択。
あなたの$ 39.0を他の人の$ 4000.0以上のトレーニングに値するようにしてください。
30日間のフル機能の無料トライアル。 理由のない60日間の返金保証。

コメントを並べ替える
コメント (146)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちはPlzはこの以下の状態に私を助けてくれます。 それぞれ異なるパスに5つ以上のワークシートがある異なるワークブックがあります。 異なるワークブックのすべてのワークシートをXNUMXつのワークブックに統合する必要があります。 誰かがmacro.TIAで解決するのを手伝ってくれますか?
このコメントは、サイトのモデレーターによって最小化されました
[quote]こんにちはPlzはこの以下の状態に私を助けてくれます。 それぞれ異なるパスに5つ以上のワークシートがある異なるワークブックがあります。 異なるワークブックのすべてのワークシートをXNUMXつのワークブックに統合する必要があります。 誰かがmacro.TIAで解決するのを手伝ってくれますか?A.カーティ[/ quote] KutoolsforExcelをダウンロードしてインストールしてください。すぐに実行できます。 ただし、VBAを使用する場合は、複雑すぎる可能性があります。 それを行う方法の詳細については、次のWebサイトをご覧ください。http://www.extendoffice.com/product/kutools-for-excel/excel-combine-worksheets-into-one.html
このコメントは、サイトのモデレーターによって最小化されました
KUTOOLS素晴らしいソリューション。 マスターワークブックを作成するときにもうXNUMXつ助けが必要です。その後、ワークシートのセルの色が元のワークシートから変更されます。 元のワークシートのように保つにはどうすればよいですか。
このコメントは、サイトのモデレーターによって最小化されました
私たちのオフィスには、いくつかのExcelのオリジナルからのデータ(つまり、名前、住所、都市、金額、署名された日付)の複製があり、データを結合する試みは進行中の作業になります。 二重の作業と二重の情報エントリを排除するために、どのようにそれを行うことができますか?
このコメントは、サイトのモデレーターによって最小化されました
'ランタイムエラー1004'が発生し、次の行でWorksheetクラスのCopyメソッドが失敗しました:Sheet.Copy After:= ThisWorkbook.Sheets(1)。 Excel 2010を使用しています。サポートしてもらえますか? ありがとう、-スージー
このコメントは、サイトのモデレーターによって最小化されました
ちょっとスージー、私はしばらくの間この問題に取り組んできましたが、同じエラーが発生しました。 モジュールがアクティブなワークブックではなくPERSONALで作成されているかどうかを確認してください。 正しいツリーの下にモジュールを作成すると、以下のコードは問題なく機能しました。 Sub GetSheets_xls()Dim Sheet As Worksheet Path = "C:\ Users \ yournamehere \ Desktop \ Testingfolder \" Filename = Dir(Path& "* .xls")Do While Filename "" Workbooks.Open Filename:= Path&Filename、 ReadOnly:= False Set Sheet = ActiveWorkbook.Sheets(1)Sheet.Copy After:= ThisWorkbook.Sheets(1)'Next Sheet Workbooks(Filename).Close Filename = Dir()Loop End Subこれがお役に立てば幸いです!
このコメントは、サイトのモデレーターによって最小化されました
どうもありがとう。 あなたのコードはうまくいきました。
このコメントは、サイトのモデレーターによって最小化されました
[quote]「ランタイムエラー1004」が発生しました。次の行でWorksheetクラスのCopyメソッドが失敗しました:Sheet.Copy After:= ThisWorkbook.Sheets(1)。 Excel 2010を使用しています。サポートしてもらえますか? ありがとう、-スージースージー[/ quote]同じ問題がありました。「PERSONAL」を表示して再表示すると機能します。マスターを非表示にした状態で、このマクロにアクセスするのに問題があるようです。
このコメントは、サイトのモデレーターによって最小化されました
「PERSONAL」の表示と再表示に移動します。マスターが非表示になっていると、コード全体を実行するのに問題があるようです。 マクロをそのブックにネイティブにすることはできますが、使用するたびにすべてを再作成する必要があります。
このコメントは、サイトのモデレーターによって最小化されました
やあ! このファイルをどうもありがとう.............:roll:よろしくお願いします
このコメントは、サイトのモデレーターによって最小化されました
ちょっと素晴らしいヒント。 やりました ほとんど 私が欲しかったものすべて。 組み合わせのwoorkbookでは、ワークシート名に元のwoorkbookの名前が含まれているので、データがどのwoorkbookからのものであるかがわかります。 私が結合しているデータは、さまざまなアーカイブからのものです。 エントリを検索する必要がありますが、どのアーカイブにあるのかわかりません。したがって、すべてのデータをXNUMXつのファイルにまとめることで、すべてのアーカイブを一度に検索できるようになります。 しかし、私はまだエントリがどのアーカイブにあるかを知る必要があります。ヘンリック
このコメントは、サイトのモデレーターによって最小化されました
ファイル名を組み込むコードについては、これを行うだけです。 Sub GetSheets()Dim temp As String Path = "C:\ Users \ .... \ Desktop \ Excel Combine \" Filename = Dir(Path& "* .xlsx")Do While Filename "" Workbooks.Open Filename:=パスとファイル名、読み取り専用:= True temp = ActiveWorkbook.Name ActiveSheet.Name = temp ActiveWorkbook.Sheets(temp).Copy After:= ThisWorkbook.Sheets(1)Workbooks(Filename).Close Filename = Dir()Loop End Sub Note :これは最初のシートのみをコピーするためのものであり、すべてのシートを実行するためにtweekedすることができます
このコメントは、サイトのモデレーターによって最小化されました
より多くのシートを組み込む方法と、すべてのシートを貼り付けるために別のマスターファイルを指定する方法。
このコメントは、サイトのモデレーターによって最小化されました
それは確かに素晴らしい解決策です。 ありがとうございました。 ただし、32つの問題は、このように実行すると、閉じる前に変更を保存するかどうかを尋ねられ(名前が変更されたため)、すべてのファイルに対して保存したくない(実行ごとに約XNUMX)。 これを解決する方法はありますか?
このコメントは、サイトのモデレーターによって最小化されました
これは素晴らしいです:lol:私を大いに助けてくれました...
このコメントは、サイトのモデレーターによって最小化されました
おかげで、この非常に役立つWebサイトから1日を過ごしました...実際には、異なるシートの同じヘッダーデータをXNUMXつのマスターワークシートに結合したかったのですが、KUTOOLforExcelは私を大いに助けてくれました...もう一度ありがとう.... :)
このコメントは、サイトのモデレーターによって最小化されました
貴重な情報をありがとうございました。 これは本当に機能します。 この記事に記載されている手順により、私の仕事は本当に簡単になりました。 ありがとう、ディネッシュ
このコメントは、サイトのモデレーターによって最小化されました
あなたの知識を共有してくれてありがとう
このコメントは、サイトのモデレーターによって最小化されました
元のブックからの変更を更新するにはどうすればよいですか? 各地域が独自のワークブックにデータを入力し、これから更新される全国的な要約を取得する全国的な要約を取得しようとしていますか? これを最初に通年で設定し、遡及的に作業しないようにしたいと思います。
このコメントは、サイトのモデレーターによって最小化されました
ワークシートを1つのワークブックに結合した後、どのように保存しますか。保存できませんでした。BookXNUMXという名前で、[保存]または[名前を付けて保存]をクリックしていますが、機能していません。
このコメントは、サイトのモデレーターによって最小化されました
「複数のブックをVBAでXNUMXつのブックに結合する」の手順に従い、「実行」をクリックしても何も起こりませんでした。 私はエラーを認識しておらず、修正方法もわかりません。 手伝ってくれませんか? 以下は、新しいブックに入力したコードです。 ありがとうございました Sub GetSheets()Path = "p:\ download \ macro \" Filename = Dir(Path& "* .xls")Do While Filename "" Workbooks.Open Filename:= Path&Filename、ReadOnly:= True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:= ThisWorkbook.Sheets(1)Next Sheet Workbooks(Filename).Close Filename = Dir()Loop End Sub
このコメントは、サイトのモデレーターによって最小化されました
親愛なるサー/マダム:「VBAを使用して複数のワークブックを1つのワークブックに結合する」の手順に従って、次のモジュールを設定しましたが、何も起こりませんでした。 問題を見つけるのを手伝ってくれませんか。 ありがとうSubGetSheets()Path = "p:\ download \ macro \" Filename = Dir(Path& "* .xls")Do While Filename "" Workbooks.Open Filename:= Path&Filename、ReadOnly:= True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:= ThisWorkbook.Sheets(XNUMX)Next Sheet Workbooks(Filename).Close Filename = Dir()Loop End Sub
このコメントは、サイトのモデレーターによって最小化されました
新しいバージョンのExcelの場合は、これを試してください。 開いているブックをカタログとして保存しました。すべてのファイルはc:\tempにあります。 Sub GetSheets()Path = "c:\ temp \" Filename = Dir(Path& "* .xls")Do While Filename "" Workbooks.Open Filename:= Path&Filename、ReadOnly:= True For Each SheetInActiveWorkbook。 Sheets Sheet.Copy After:= Workbooks( "catalog.xlsx")。Sheets(1)Next Sheet Workbooks(Filename).Close Filename = Dir()Loop End Sub
このコメントは、サイトのモデレーターによって最小化されました
新しいバージョンのExcelでこれを試してください。 ブックをカタログとして保存しました。すべてのファイルはc:\tempにあります。 Sub GetSheets()Path = "c:\ temp \" Filename = Dir(Path& "* .xls")Do While Filename "" Workbooks.Open Filename:= Path&Filename、ReadOnly:= True For Each SheetInActiveWorkbook。 Sheets Sheet.Copy After:= Workbooks( "catalog.xlsx")。Sheets(1)Next Sheet Workbooks(Filename).Close Filename = Dir()Loop End Sub
このコメントは、サイトのモデレーターによって最小化されました
[引用]Excelの新しいバージョンでこれを試してください。 ブックをカタログとして保存しました。すべてのファイルはc:\tempにあります。 Sub GetSheets()Path = "c:\ temp \" Filename = Dir(Path& "* .xls")Do While Filename "" Workbooks.Open Filename:= Path&Filename、ReadOnly:= True For Each SheetInActiveWorkbook。 Sheets Sheet.Copy After:= Workbooks( "catalog.xlsx")。Sheets(1)Next Sheet Workbooks(Filename).Close Filename = Dir()Loop End Subデイブ[/ quote]パスに関して「読み取り専用プロパティに割り当てることができません」というメッセージが表示され続けます...何か考えはありますか?
このコメントは、サイトのモデレーターによって最小化されました
私も問題を抱えています。 あなたはそれを理解しましたか?
このコメントは、サイトのモデレーターによって最小化されました
まだ何もありません...解決策が見つからないか、誰かに修正を提案してもらいました。 ごめん...
このコメントは、サイトのモデレーターによって最小化されました
私も。 これは6か月前に機能していましたが、最後に実行する必要がありました。 誰かが解決策を見つけましたか? 以前に実行していて、現在は機能しない場合は、Microsoftによる更新と関係があるのでしょうか。 これは私のタスクにとって本当に便利なツールであり、時間の負荷を節約します。 Excelが突然このメッセージを表示し始める原因となる変更は何でしょうか? VBAにかなり慣れていないので、ロジックの分析をどこから始めればよいかわかりません。 よろしく、グレッグ。 スコットランド、グラスゴー。
このコメントは、サイトのモデレーターによって最小化されました
「パス」が予約されているようです。他の名前を使用して、「パス」を置き換えてください(例:「マイパス」)。
このコメントは、サイトのモデレーターによって最小化されました
たぶん、ReadOnly:= TrueをReadOnly:=Falseに変更する必要があります。
このコメントは、サイトのモデレーターによって最小化されました
私はこれらの線に沿って何かを探していましたが、コメントしたいと思いました。 DoWhileファイル名""は""以外のものである必要はありませんか? または私はそれを間違って読んでいますか? たぶんDoWhileNOT filename=""ちょっと考えて...
このコメントは、サイトのモデレーターによって最小化されました
すべてのシートをXNUMXつのシートにまとめて、見出しが共通になっているようにしたい...plsヘルプ
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、私は上記のマクロを使用していくつかのファイルを照合しようとしましたが、残念ながら結果はありません...誰かが手動でファイルを照合するのを取り除くのを助けることができます。
このコメントは、サイトのモデレーターによって最小化されました
私は112枚のExcelシートを持っており、コピーアンドペーストせずにXNUMX枚のシートに入れたいと思っています。 私を助けてください。
このコメントは、サイトのモデレーターによって最小化されました
約250枚のシートが含まれているワークブックがあります。 XNUMX枚でコバーンする必要があります。 解決策を教えてください
このコメントは、サイトのモデレーターによって最小化されました
これを試してみてください...これは別のサイトから入手しましたが、残念ながら女性の名前を思い出せないので、彼女に言及しなかったことをお詫びします。 )Dim wbDst As Workbook Dim wbSrc As Workbook Dim wsSrc As Worksheet Dim MyPath As String Dim strFilename As String Application.DisplayAlerts = False Application.EnableEvents = False Application.ScreenUpdating = False MyPath = "\\ MyPath \ etc \ etc ..." Set wbDst = Workbooks.Add(xlWBATWorksheet)strFilename = Dir(MyPath& "\ *。xls"、vbNormal)If Len(strFilename)= 2 Then Exit Sub Do until strFilename = "" Set wbSrc = Workbooks.Open(Filename:= MyPath& "\"&strFilename)Set wsSrc = wbSrc.Worksheets(0)wsSrc.Copy After:= wbDst.Worksheets(wbDst.Worksheets.Count)wbSrc.Close False strFilename = Dir()Loop wbDst.Worksheets(1)。 Application.DisplayAlerts = True Application.EnableEvents = True Application.ScreenUpdating = TrueEndSubを削除します
このコメントは、サイトのモデレーターによって最小化されました
こんにちは私はモジュールにコードを追加しました。 ExcelブックにMasterfileという名前を付けました。 コードのどこに追加しますか。 ありがとうございました
このコメントは、サイトのモデレーターによって最小化されました
これらのどれも私のために働きませんでした私はついにこれを働かせました。 参考までに、2010年を使用しています'説明:フォルダー内のすべてのファイルをマスターファイルに結合します。 Sub MergeFiles()Dim path As String、ThisWB As String、lngFilecounter As Long Dim wbDest As Workbook、shtDest As Worksheet、ws As Worksheet Dim Filename As String、Wkb As Workbook Dim CopyRng As Range、Dest As Range Dim RowofCopySheet As Integer RowofCopySheet = 2'ThisWBからコピーするシートで開始する行=ActiveWorkbook.Namepath = "mypath....."'このApplication.EnableEvents=False Application.ScreenUpdating = False Set shtDest=ActiveWorkbookを変更することを忘れないでください.Sheets(1)Filename = Dir(path& "\ *。xls"、vbNormal)If Len(Filename)= 0 Then Exit Sub Do until Filename = vbNullString If Not Filename = ThisWB Then Set Wkb = Workbooks.Open(Filename: = path& "\"&Filename)Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet、1)、Cells(ActiveSheet.UsedRange.Rows.Count、ActiveSheet.UsedRange.Columns.Count))Set Dest = shtDest.Range( "A"&shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)CopyRng.Copy Dest Wkb.Close False End If Filename = Dir()Loop Rang e( "A1")。Select Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "Done!" サブ終了
このコメントは、サイトのモデレーターによって最小化されました
プルされたデータが常に一番上の行から始まるようにこれを編集するにはどうすればよいですか? このコードをXNUMX回実行すると、(マクロの最初の実行からの)前のデータの最後にデータが追加されます。
このコメントは、サイトのモデレーターによって最小化されました
次の行を変更します:RowofCopySheet=2からRowofCopySheet=1
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、パスワードで保護された複数のExcelファイル(XNUMX枚のシート)の異なるフォルダがあります。 一日の終わりにすべてのデータをXNUMXつのマスターファイルにまとめたい。 パスワードを入力してファイルを開き、マスターファイルにコピーして貼り付ける必要があるたびに..このためのVBAコードを教えてください。
ここにはまだコメントが投稿されていません
もっと読み込む
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所