
【やりたい事2つ】
以下のマクロは、原本ファイルを開き、別名で保存するものです
保存をする際に、既に同じ名前があれば
●●●メッセージ(同じ名前のファイルがあります) を表示させたいです●●●
また
その後
上書き
上書きしない
を選択しますが
上書きしないを選択すると
wb.SaveAs fileName がデバックとなります
●●●これをデバックとならずに、上書きせずに、終了となるようにしたいです●●●
【条件】
A7セルには あいうえお と入力しています
既にあるファイルは あいうえお.xlsx です
●●●最後に、以下のコードで必要のないコードや、省略可できる所があったら教えて下さい●●●
【コード。動きます】
Sub 原本ファイルより名前を変更()
Dim wb As Workbook
fileName = "C:\Users\2020\OneDrive\マクロ\" & Worksheets("転記元").Range("A7") & ".xlsx"
Workbooks.Open "C:\Users\2020\OneDrive\マクロ\原本ファイル\原本ファイル.xlsx"
Set wb = Workbooks("原本ファイル.xlsx")
wb.SaveAs fileName
wb.Close saveChanges:=False
End Sub
No.3ベストアンサー
- 回答日時:
No2です。
単純にファイルをコピーするだけなので、以下の方法でも可能です。
Sub 原本ファイルより名前を変更2()
Dim FSO As Object
Dim Filename As String
Dim BaseFile As String
Filename = "C:\Users\2020\OneDrive\マクロ\" & Worksheets("転記元").Range("A7") & ".xlsx"
If Dir(Filename) <> "" Then
resp = MsgBox("この場所に'" & Filename & "'という名前のファイルが既にあります。置き換えますか?", vbYesNo)
If resp = vbNo Then Exit Sub
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
BaseFile = "C:\Users\2020\OneDrive\マクロ\原本ファイル\原本ファイル.xlsx"
FSO.copyfile BaseFile, Filename
End Sub
No.2
- 回答日時:
以下のようにしてください。
Sub 原本ファイルより名前を変更()
Dim wb As Workbook
Filename = "C:\Users\2020\OneDrive\マクロ\" & Worksheets("転記元").Range("A7") & ".xlsx"
If Dir(Filename) <> "" Then
resp = MsgBox("この場所に'" & Filename & "'という名前のファイルが既にあります。置き換えますか?", vbYesNo)
If resp = vbNo Then Exit Sub
End If
Workbooks.Open "C:\Users\2020\OneDrive\マクロ\原本ファイル\原本ファイル.xlsx"
Set wb = Workbooks("原本ファイル.xlsx")
Application.DisplayAlerts = False
wb.SaveAs Filename
wb.Close saveChanges:=False
Application.DisplayAlerts = True
End Sub
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでPDFを作成する際、同じ名前のデータがすでにある時の対処法を教えてください。
Microsoft ASP
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
-
4
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在
Excel(エクセル)
-
8
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
9
【マクロ】同じファイル名がある場合メッセージを出すor指定の文字でしか名前を付けられないようにする
Excel(エクセル)
-
10
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
11
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
12
EXCELで同一名のファイルがある場合の「置き換えますか?」メッセージを出さないようにする。
Excel(エクセル)
-
13
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
14
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
15
マクロ VBA ファイル名を連番でつけたいのですが
Access(アクセス)
-
16
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
17
EXCEL ページを指定してPDF出力するVBAを教えてください。
PDF
-
18
Excelの入力規則で2列表示したい
Excel(エクセル)
-
19
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
20
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データ参照先が別ファイルの場...
-
EXCEL VBA 指定したファイルが...
-
【マクロ】変数に入れるコード...
-
エクセルマクロで不特定なファ...
-
accessフォルダを移動したらフ...
-
EXCELマクロを無効にして開く方法
-
ファイルの保存場所を変えたら...
-
エクセル 複数ファイルの一括...
-
新規 xlsmファイルにする方法...
-
エクセルのシートの数を数えた...
-
秀丸:あらかじめ設定した複数...
-
エクセルのマクロウィルスの処置
-
Excelファイルの保存
-
エクセルのxls形式からxlsx形式...
-
Excel VBA seleniumのedge操作...
-
ファイルを開かずにマクロを実行
-
エクセルファイルを開く時、関...
-
フォルダ内のブック全部にパス...
-
【Excel VBA】ファイル名が一...
-
空白の処理に関するマクロ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】変数に入れるコード...
-
EXCEL VBA 指定したファイルが...
-
フォルダ内のexcelファイルを順...
-
【マクロ】名前を保存する際に...
-
データ参照先が別ファイルの場...
-
エクセルマクロで不特定なファ...
-
【Excel VBA】ファイル名が一...
-
フォルダ内のブック全部にパス...
-
エクセル 複数ファイルの一括...
-
エクセルファイルを開く時、関...
-
EXCELマクロを無効にして開く方法
-
accessフォルダを移動したらフ...
-
ファイルを開かずにマクロを実行
-
ファイルの保存場所を変えたら...
-
Excelのマクロでファイルを開く...
-
vlookup関数の引数を変数で指定...
-
エクセルのxls形式からxlsx形式...
-
秀丸:あらかじめ設定した複数...
-
VBAでワークブックの名前を変数...
-
エクセルマクロ 異なるファイ...
おすすめ情報