
エクセル1シートのみを移動し、開いたシートは閉じたいのですが、
ネットで検索したものが、全シートの移動のみで、
1シートを移動し、閉じたいのです。
wbTo.Worksheets.Move After:=wbFrm.Worksheets(wbFrm.Worksheets.Count)
↓
wbTo.Worksheets(1).Move After:=wbFrm.Worksheets(wbFrm.Worksheets.Count)
ここだけ直したら、1シートの移動は出来たのですが、
不要なブックの閉じ方が分かりません。
どなたかわかる方いらっしゃいましたら、コードを教えてください。
よろしくお願いします。
Public Sub 複数エクセル1シート開いたブックへ移動()
Dim arrFileName As Variant 'ダイアログで選択した複数のブック名を配列で取得する
'GetOpenFilenameメソッドで、MultiSelect:=Trueとすると、ブックを複数選択できる。
arrFileName = Application.GetOpenFilename("Excelブック,*.xls?", MultiSelect:=True)
'ファイルを選択しなかった場合、処理を終了する
If TypeName(arrFileName) = "Boolean" Then: Exit Sub
Dim v As Variant '配列の各要素を格納する変数
Dim Flag As Boolean '最初に開いたブックか判定する変数
Dim wbTo As Workbook '2回目以降に開いたブックの参照用変数
Dim wbFrm As Workbook '最初に開いたブックの参照用変数
'GetOpenFilenameメソッドで取得した各ブックのフルパスの数だけループ
For Each v In arrFileName
Workbooks.Open FileName:=v 'Excelをひらく
If Flag Then '最初に開いたブックは処理しない
Set wbTo = ActiveWorkbook
'Moveメソッドで、2回目以降に開いたブックの1シートを、最初に開いたブックのシート末尾に移動する
wbTo.Worksheets(1).Move After:=wbFrm.Worksheets(wbFrm.Worksheets.Count)
Else
'最初に開いたブックの参照を割り当てる
Set wbFrm = ActiveWorkbook
End If
Flag = True
Next v
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
>不要なブックの閉じ方が分かりません。
「不要なブック」というのは、コピー元になっているブックという解釈でよいのでしょうか?
Workbook.Close
で、ブックを閉じることができます。
(ご提示のコードの場合なら、ブックは wbTo です)
ただし、変更しているので、上記のままでは、確認のダイアログが表示されます。
いちいち表示されては面倒でしょうから、移動したシートを残したままにしたいなら
wbTo.Close False
移動したシートは、無くして保存するのなら
wbTo.Close True
とすることで、実現できると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
VBA 別ブックからコピペしたい...
-
VBAで別のブックにシートをコピ...
-
Excelマクロ 該当する値の行番...
-
エクセルVBAが途中で止まります
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
vbaで他のブックに転記したい。...
-
VBS Bookを閉じるコード
-
Workbooks(workbooks.count)に...
-
【Excel VBA】書き込み先ブック...
-
教えて下さい!VBAで複数Excel...
-
リソース不足を解消したい
-
Excel2007VBAファイルの表示に...
-
エクセルVBAでテキストボックス...
-
ACCESSでExcelにデータ出力、高...
-
マクロを使って不特定のファイ...
-
VBAで複数のブックを開かずに処...
-
ワイルドカード「*」を使うとう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【Excel VBA】書き込み先ブック...
-
2つ目のコンボボックスが動作...
-
[Excel]ADODBでNull変換されて...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excelのマクロコードについて教...
-
Excel にて、 リストボックスの...
-
【ExcelVBA】インデックスが有...
-
VBA アプリケーション定義また...
-
【Excel VBA】表の列の値毎に分...
おすすめ情報