Excelvbaで下記動作をさせたいです。
①「作成」というブック名のExcelファイル(
xlsx)があります。作成のExcelファイルは原紙というシートのみあります。それと同一フォルダー内に適当な名前が付いたExcelファイル(xlsx)がいくつかあります。
②作成を開きマクロを実行すると、適当な名前が付いたExcelファイルの一番左側のシートが作成のExcelファイルへ移動します。移動した後のシート名は1、2、3、4、5、6・・・と連番とします。シート構成は、原紙、1・2・3というようになります。
No.1
- 回答日時:
①「適当な名前が付いたExcelファイル(xlsx)」の張付け順番は気にしないで同じフォルダの物を全て張付ければ良いという事でしょうか?
② マクロを書き込んでいるExcelファイル(xlsm)ファイルも同じフォルダに有るという事で良いのでしょうか?
No.2ベストアンサー
- 回答日時:
こんばんは!
一例です。
「作成」ブックの標準モジュールにしてください。
Sub Sample1()
Dim myPath As String, fN As String
Dim cnt As Long
Dim wB As Workbook, wS As Worksheet
myPath = ThisWorkbook.Path & "\"
fN = Dir(myPath & "*.xlsx")
Application.ScreenUpdating = False
Do Until fN = ""
Workbooks.Open (myPath & fN)
Set wB = ActiveWorkbook
cnt = cnt + 1
With ThisWorkbook
.Worksheets.Add after:=Worksheets(cnt)
Set wS = .Worksheets(cnt + 1)
wS.Name = cnt
wB.Worksheets(1).Cells.Copy wS.Range("A1")
Application.DisplayAlerts = False
wB.Close
Application.DisplayAlerts = True
fN = Dir()
End With
Loop
Application.ScreenUpdating = True
MsgBox "完了"
End Sub
※ 未検証なので、不具合が出たらごめんなさい。m(_ _)m
No.3
- 回答日時:
以下のような物はいかがでしょうか?
※「作成.xlsx」が閉じている状態で実行して下さい。
※ 適当な名前の、Excelファイル(xlsm)に書き込んで実行して下さい。
Sub Sample()
Const 作成ファイル名 As String = "作成.xlsx"
Dim パス名 As String
Dim シート番号 As Long
Dim ファイル名 As String
Dim 処理済 As Boolean
パス名 = ThisWorkbook.Path & "\"
Workbooks.Open Filename:=パス名 & 作成ファイル名
Application.DisplayAlerts = False
Do Until Workbooks(作成ファイル名).Sheets.Count = 1
Sheets(2).Delete
Loop
Application.DisplayAlerts = True
ファイル名 = Dir(パス名 & "*.xlsx")
Do While ファイル名 <> ""
If ファイル名 <> 作成ファイル名 Then
Workbooks.Open Filename:=パス名 & ファイル名
シート番号 = シート番号 + 1
Sheets(1).Copy After:=Workbooks(作成ファイル名).Sheets(シート番号)
ActiveSheet.Name = シート番号
Windows(ファイル名).Close
ファイル名 = Dir()
Else
If 処理済 Then
Exit Sub
Else
処理済 = True
End If
End If
Loop
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
【マクロ】シート名を取得する...
-
ハイパーリンクで前回値をひき...
-
ファイルを並び替えるときの「...
-
EXCELのVBAで画像を選んだ順に...
-
CSVで文字化けしてしまうのを直...
-
エディタで効率的な切り出し方法
-
Excelのマクロを実行しても、エ...
-
Excelでリンクを使用すると#N/A...
-
パス名を参照するコードのファ...
-
エクセル 一括リンクの解除
-
VLOOKUP関数とネットワークに置...
-
PDF ファイルが開けません。
-
エクセルVBAで複数のファイ...
-
ローマ字→カタカナへ変換(エク...
-
Excel VBA のdebug(F8キー) が...
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
EXCELのセルへ、デジタル時計を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
ファイルを並び替えるときの「...
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
excel INDIRECT 他ファイル参照
-
エクセルファイルから指定した...
-
エディタで効率的な切り出し方法
-
PDF ファイルが開けません。
-
EXCELのマクロを使って、テキス...
-
ハイパーリンクで前回値をひき...
-
エクセルからスキャナVBAで連動...
-
EXCEL VBA ー 同一フォルダ内の...
-
CSVで文字化けしてしまうのを直...
-
エクセルマクロでファイルオー...
-
ミュージックファイルのファイ...
-
エクセルVBAでファイルを連...
-
エクセルVBA+ADOで特定のCSVフ...
おすすめ情報
①「適当な名前が付いたExcelファイル(xlsx)」の張付け順番は気にしないで同じフォルダの物を全て張付ければ良いという事でしょうか?
→同じフォルダー内のExcelファイル全てで順番は気にしません。※作成Excelファイルに移動するファイルは一番左のみでお願いします。
② マクロを書き込んでいるExcelファイル(xlsm)ファイルも同じフォルダに有るという事で良いのでしょうか?
→xlsmも同じフォルダー内にあります。
マクロを書き込んでいるExcelファイル(xlsm)と同じフォルダーにxlsmとxlsxが二種類あった場合も同じ動作が行くようにできますか。