dポイントプレゼントキャンペーン実施中!

Excelのマクロについて教えてください。
下記のマクロは先日教えて頂いたマクロです。
このマクロを利用して下記のように変更出来る方法を教えてください。
セル「F3」に
「旭川市・釧路市・江別市・札幌市・室蘭市・小樽市・帯広市・苫小牧市
函館市・北見市」以外の表示があった場合は、
コピー元のファイル「■北海道北海道_20230731更新」が作業フォルダ内にコピー出来る方法を教えてください。
例えば、F3に「北広島市」と表示されると
フォルダ内に「■北海道_20230731更新_Copy.pdf」がコピー出来る方法を教えてください。
現状のマクロ
Sub 条例()
On Error Resume Next
If Sheets("受付").Range("F3").Value <> "" Then
Const copy_path As String = "\\nas-sp01\share\確認部\■共通\審査の注意点\条例・細則【確認申請添付】\"
Dim strSource As String
strSource = Dir(copy_path & "■" & Sheets("受付").Range("F3").Value & "*.pdf")
FileCopy copy_path & strSource, _
ThisWorkbook.Path & "\" & Mid(strSource, 1, InStrRev(strSource, ".") - 1) & "_Copy.pdf"
End If
End Sub

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

質問者からの補足コメント

  • うーん・・・

    回答ありがとうございます。
    私の説明が悪くて申し訳ありません。コピー元のフォルダは
    「 "\\nas-sp01\share\確認部\■共通\審査の注意点\条例・細則【確認申請添付】\"」になります
    よろしくお願いいたします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/06/11 17:53

A 回答 (1件)

Sub 条例()


On Error Resume Next
Dim targetCities As Variant
Dim city As String
Dim isExcluded As Boolean
Dim copyFilePath As String
Dim destinationFilePath As String

' 特定の都市名リスト
targetCities = Array("旭川市", "釧路市", "江別市", "札幌市", "室蘭市", "小樽市", "帯広市", "苫小牧市", "函館市", "北見市")

' セル F3 の都市名を取得
city = Sheets("受付").Range("F3").Value

' 都市名がリストに含まれているかどうかをチェック
isExcluded = False
For Each c In targetCities
If city = c Then
isExcluded = True
Exit For
End If
Next c

' リストに含まれていない場合
If Not isExcluded Then
' コピー元のファイルパス
copyFilePath = ThisWorkbook.Path & "\■北海道_20230731更新.pdf"

' コピー先のファイルパス
destinationFilePath = ThisWorkbook.Path & "\■北海道_20230731更新_Copy.pdf"

' ファイルをコピー
FileCopy copyFilePath, destinationFilePath
End If
End Sub
この回答への補足あり
    • good
    • 0
この回答へのお礼

連絡が遅くなりまして、申し訳ありません、コピー元のファイルパスを変更すると上手くできました、
ありがとうございます。

お礼日時:2024/06/12 08:32

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

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


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