
下記のマクロを実行すると指定セル値(CE1)をファイル名にしてマクロ有効ブックとして保存できます。
セル(CE1)には「=$CJ$16&""&$A$2」を設定しており、「CJ$16」には【青紙】と表示しており
「A$2」には物件毎の名前が表示されますが、物件の名前が「No.1」の場合に上手くマクロ有効ブックとして保存できません。(Excelの拡張子が無くなってます)
物件の名前が「№1」の場合には上手くマクロ有効ブックとして保存できます。
これはマクロで解決できるものでしょうか。
教えてください。
現状のマクロ
Sub 名前を付けて保存ファイル削除()
Dim alert As VbMsgBoxResult
alert = MsgBox("名前を付けて保存を行いますか?", vbYesNo + vbQuestion, "保存確認")
If alert <> vbYes Then
Exit Sub
End If
On Error Resume Next
Dim newName As String
newName = Sheets("青紙表").Range("CE1").Value
Dim ws As Worksheet
Dim TargetCheck As String
Dim List As Variant
Dim i As Long
Dim Chk As Boolean
For Each ws In Worksheets
Chk = False
If ws.Visible = False Then
For i = 0 To UBound(List)
If ws.Name = List(i) Then
Chk = True
Exit For
End If
Next i
If Chk = False Then
TargetCheck = TargetCheck & ws.Name & vbCrLf
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
End If
Next ws
Dim oldName As String
oldName = ThisWorkbook.Path & "\" & ThisWorkbook.Name
With ThisWorkbook
Application.DisplayAlerts = False
.SaveAs .Path & "\" & newName, xlOpenXMLWorkbookMacroEnabled
Application.DisplayAlerts = True
End With
Kill oldName
Application.ScreenUpdating = True
Application.Quit
With ThisWorkbook
.Saved = True
.Close False
End With
End Sub
以上となります。よろしくお願いいたします。

No.2ベストアンサー
- 回答日時:
>具体的には、拡張子「.xlsm」を付して保存すれば良いでしょう。
>はコードのどの部分を変更すれば良いかが、わからないのです。
newName = Sheets("青紙表").Range("CE1").Value
を
newName = Sheets("青紙表").Range("CE1").Value & ".xlsm"
に変えてください。
本件、テスト環境が作れないため、こちらでの動作確認は行っていません。
間違っていたら、ごめんなさい。
No.1
- 回答日時:
こんにちは
>上手くマクロ有効ブックとして保存できません。
結果を見ればわかる通り、拡張子を指定して保存しているから、その通りになっているだけです。
ファイル名に「.」を入れることは、一応は許容されているので、保存時に拡張子を(省略せずに)きちんと指定して保存すれば済みます。
具体的には、拡張子「.xlsm」を付して保存すれば良いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
Excel マクロについて詳しい方、ご教示ください。 『行数が毎回変わる元データの、A列に「1」と入
Visual Basic(VBA)
-
Vba 型が一致しません(エラー13)のセルを特定する方法を教えてください
Visual Basic(VBA)
-
-
4
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
5
エクセルの数式について教えてください。
Excel(エクセル)
-
6
エクセルマクロについて教えて下さい。
Excel(エクセル)
-
7
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
8
excelVBAについて。
Excel(エクセル)
-
9
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
10
excelVBAについて。
Excel(エクセル)
-
11
修正依頼:【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
-
12
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
13
excelですが一つのマスに入ってる文字を2つのマスに変更できますか
Excel(エクセル)
-
14
Excelで合計を求めたいです
Excel(エクセル)
-
15
VBAで特定の文字が入った行をコピーして貼り付けたい
Visual Basic(VBA)
-
16
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
17
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
18
Excelの数式について教えてください。
Visual Basic(VBA)
-
19
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
20
excelVBAについて。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba textboxへの入力について教...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
Vba FileSystemObject オブジェ...
-
複数のExcelファイルをマージす...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
【マクロ】値を渡されたプロシ...
-
VBAでユーザーフォームを指定回...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
Web画面の文字をVB6で取得したい
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
エクセルの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてく...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】シートの変数へ入れ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAでユーザーフォームを指定回...
-
【マクロ】開いているブックの...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録で...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字...
おすすめ情報
回答ありがとうございました。
申し訳ございません、
貴社のご指示の
具体的には、拡張子「.xlsm」を付して保存すれば良いでしょう。
はコードのどの部分を変更すれば良いかが、わからないのです。
教えて頂けますか。
よろしくお願いいたします。