No.5ベストアンサー
- 回答日時:
#3-4です。
逐条解説すると、
Sub TEST02()
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & "zzz.xls") 'Path取得してzzzを開き、以後これをwbと呼ぶ
ThisWorkbook.Sheets("マスタ").Copy Before:=wb.Sheets(1) 'Sheets("マスタ")をコピーしてwbの一番前に挿入
wb.Close (True) 'wbを保存終了
Set wb = Nothing 'zzzをwbと呼ぶのをやめる
End Sub
ということですから、zzz.xlsにもともとあったシートが無くなったり、シート名がコピー元のファイル名と同じになるなんてことは、このコードでは起こらないはずですが・・・・。
この回答への補足
すいません!出来ました!!!
zzz.xlsを作る際にファイルの形式を誤っていたようです。
お騒がせしました。
ありがとうございます。
何度もすいません。
wb.Close (True)を実行した後に「ファイル名をつけて保存」のウインドウが表示されます。またこの時に「ファイルの種類」は「テキスト(タブ区切り)(*.txt)」となっています。
ここで上書きされてしまうことになっちゃってるようです。
aaa.xlsとzzz.xlsは同じフォルダに存在しています。
No.4
- 回答日時:
#3です。
冗長なコードを書いてしまいました。以下のようにすっきりできますね。
Sub TEST02()
Set wb = Workbooks.Open("zzz.xls")
ThisWorkbook.Sheets("マスタ").Copy Before:=wb.Sheets(1)
wb.Close (True)
Set wb = Nothing
End Sub
この回答への補足
う~ん・・・もうちょっとです。
上記ソースだと既存のファイルを上書き保存してしまうようでzzz.xlsにもともとあったシートも無くなってしまいます。またシート名も”マスタ”ではなくファイル名と同じになってしまいました。
No.3
- 回答日時:
ふたつのファイルが同じフォルダにあるなら、
Sub TEST01()
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & "zzz.xls")
ThisWorkbook.Sheets("マスタ").Copy Before:=Workbooks("zzz.xls").Worksheets(1)
wb.Close (True)
Set wb = Nothing
End Sub
でどうでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 既存エクセルを開きその中のシートとしてCSVファイルを開く 3 2023/05/31 13:11
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) エクセルVBA Workbook変数に変数を使ったファイル名を格納したい 5 2023/06/13 14:46
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) エクセルのマクロについて質問があります。 現在は下記のマクロでエクセル表を保存しています ThisW 2 2022/09/16 11:22
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
すでに開いているブックのマク...
-
VBA、Excelのworkbook.open に...
-
エクセルVBA Workbook変数に変...
-
【ExcelVBA】指定の書式で、マ...
-
エクセルのマクロについて教え...
-
【Excel VBA】ブックを複数開い...
-
[Excel VBA] フォルダ内の複数...
-
フォルダ内の全ブックのシート...
-
EXCEL VBA起動時の処理
-
VB2010でExcelの行をコピーして...
-
VBA セル入力された日付データ...
-
excelマクロ、任意セルの値で名...
-
EXCELマクロでxlsとxlsxを開く方法
-
エクセル アプリケーションの...
-
personal.xlsの削除方法
-
Excelの一括印刷で通し番号をつ...
-
フォルダ内の全てのBookに同じ...
-
いつも大変お世話になっており...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
ExcelVBAで今開いているユーザ...
-
エクセルVBA Workbook変数に変...
-
フォルダ内の全ブックのシート...
-
【Excel VBA】ブックを複数開い...
-
【ExcelVBA】指定の書式で、マ...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全てのBookに同じ...
-
EXCELマクロでxlsとxlsxを開く方法
-
excelマクロ、任意セルの値で名...
-
[Excel VBA] フォルダ内の複数...
-
VBA、Excelのworkbook.open に...
-
すでに開いているブックのマク...
-
EXCELマクロで上書きメッ...
-
VBA セル入力された日付データ...
-
EXCEL VBA起動時の処理
-
エクセルのマクロについて教え...
-
他のBookのユーザー定義関数を使う
-
Excel VBAを後ろで動かす方法
-
Excelの一括印刷で通し番号をつ...
おすすめ情報