プロが教える店舗&オフィスのセキュリティ対策術

下記のマクロを実行すると,同じ作業フォルダ内の指定ファイル名に
作業ブックから、指定セル値をコピー出来きます。
コードの「"\【新行政報告】行政報告チェックリスト_Copy.xlsm")」をコピー先のファイルとして指定しております。

【新行政報告】行政報告チェックリスト_Copy.xlsmのgファイル名が物件によって
例えば
「【新行政報告】北海 太郎邸.xlsmとファイル名が変更になります、
先頭の「【新行政報告】」はどのファイルでも変更がありませんので
この部分をワイルドカードを使用して
「【新行政報告】*.xlsm」
と変更出来る方法を教えてください。
よろしくお願いいたします。
現状のマクロです。
Sub 新行政報告に項目コピー()

Dim wsfrom As Worksheet, wsto As Worksheet
Set wsfrom = ThisWorkbook.Sheets("1")
With Workbooks.Open(ThisWorkbook.Path & "\【新行政報告】行政報告チェックリスト_Copy.xlsm")
Set wsto = .Sheets("建築物(確認申請)(第1号様式)")
wsto.Range("C1") = wsfrom.Range("F10").Value
wsto.Range("C2") = wsfrom.Range("F13").Value
wsto.Range("V2") = wsfrom.Range("D39").Value
wsto.Range("B180") = wsfrom.Range("O24").Value


.Save
.Close
End With
End Sub

以上となります。
よろしくお願いいたします。

A 回答 (3件)

>【新行政報告】の付いたファイル名は必ず1つしかありません



そうであれば、以下のようにしてください。

Sub 新行政報告に項目コピー()
Dim fname As String
Dim wsfrom As Worksheet, wsto As Worksheet
fname = Dir(ThisWorkbook.Path & "\" & "【新行政報告】*.xlsm")
If fname = "" Then Exit Sub
Set wsfrom = ThisWorkbook.Sheets("1")
With Workbooks.Open(ThisWorkbook.Path & "\" & fname)
Set wsto = .Sheets("建築物(確認申請)(第1号様式)")
wsto.Range("C1") = wsfrom.Range("F10").Value
wsto.Range("C2") = wsfrom.Range("F13").Value
wsto.Range("V2") = wsfrom.Range("D39").Value
wsto.Range("B180") = wsfrom.Range("O24").Value
.Save
.Close
End With
End Sub
    • good
    • 0
この回答へのお礼

とありがとうございます
早速試させて頂きます
色々と回答してくださり
感謝いたします

お礼日時:2024/04/08 21:36

マクロのあるブックと同じフォルダ内に


「【新行政報告】*.xlsm」にマッチするファイルは1つだけでしょうか。
それとも
【新行政報告】行政報告チェックリスト_Copy.xlsm
【新行政報告】北海 太郎邸.xlsm
のように2つ以上存在するケースもあるのでしょうか。

必ず1つだけ存在するのであれば、マクロの修正は可能ですが、
2つ以上存在するのであれば、No1の方が提示されている方法が良いかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
作業フォルダ内には
【新行政報告】の付いた
ファイル名は必ず1つしかありません
よろしくお願い致します

お礼日時:2024/04/08 21:27

検証できる環境ではないのですが。



>この部分をワイルドカードを使用して
>「【新行政報告】*.xlsm」
>と変更出来る方法を教えてください。

ブックを開くためには『ある特定のBook名』の指定が必要です。
なのでWith文においてワイルドカードの使用は不可能かなと。
もしおやりにやるなら、
https://excel-ubara.com/excelvba1/EXCELVBA374.html
http://officetanaka.net/excel/vba/tips/tips154.htm
等のようにコード実行者側で選択する必要があるのではないかと。
初級者レベルなので思い付きです。
⇒既存のBookを開くのですよね?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A