[[20221201161116]] 『指定したブックの削除』(はとむぎ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定したブックの削除』(はとむぎ)

Sub ★シートコピー()

Aブックを開いた状態から、Bブックを開いてシートをAブックへコピー
その後、Bブックを閉じて、Cブックを開く・・・を繰り返したいと思っています。

下記で、シートを開く事は出来たのですが、
Workbooks.Open Filename:= _

       Path1 & "\" & m & "*" & ".xlsx", UpdateLinks:=False

ブックを閉じる事が出来ません。
Workbooks(m & "*" & ".xlsx").Close

ご教示頂きたく


Dim シート名 As String, Path1 As String
Dim n As Long, m As String

Application.DisplayAlerts = False
Path1 = ActiveWorkbook.Path

シート名 = ActiveWorkbook.Name

For n = 1 To 10
m = Choose(n, "01", "02", "03", "04", "05", "06", "08", "09", "11", "17")

Workbooks.Open Filename:= _

       Path1 & "\" & m & "*" & ".xlsx", UpdateLinks:=False

ActiveSheet.Copy _

      After:=Workbooks(シート名).Sheets(1)

Workbooks(m & "*" & ".xlsx").Close

Next n

Application.DisplayAlerts = True

End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


>下記で、シートを開く事は出来たのですが、
本当でしょうか?Workbooks.Openでワイルドカード使えなかったような気がしますが。。。。

タイトルと質問内容が一致してませんが、とりあえず想像込みで整理するとこんな感じでしょうか。

    Sub 研究用()
        Dim WB As Workbbok
        Dim buf As Variant
        Dim ブック名 As Variant

        Stop 'ブレークポイントの代わり

        With ActiveWorkbook
            For Each buf In Array("01", "02", "03", "04", "05", "06", "08", "09", "11", "17")

                ブック名 = Dir(.Path & "\" & buf & "*.xlsx")
                Do Until ブック名 = ""
                    Set WB = Workbooks.Open(Filename:=.Path & "\" & ブック名, UpdateLinks:=False)
                    ActiveSheet.Copy After:=.Sheets(1)
                    WB.Close

                    ブック名 = Dir()
                Loop
            Next buf
        End With
    End Sub

(もこな2) 2022/12/01(木) 18:30:47


もなこ2さま

言われてみるとタイトルとやりたい事があっていませんね。すみません。

ご教示頂いたもので、思い通りのものになっています。
ありがとうございました。

(はとむぎ) 2022/12/02(金) 09:22:56


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.