下記のマクロを実行すると指定セル値(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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/03/26 18:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/11/08 10:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/03/27 14:27
- Visual Basic(VBA) wordのマクロで思うように行きません(ファイル削除ができない) 3 2023/09/12 08:34
- Excel(エクセル) VBA Private Sub Worksheet_Changeで 1 2024/05/01 16:59
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
- Visual Basic(VBA) VBAに関して 2 2023/11/09 20:57
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで特定の文字が入った行をコ...
-
Excelのマクロについて教えてく...
-
VBAのエラー表示の対処法について
-
VBA 別ブックからコピペしたい...
-
Excelのマクロについて教えてく...
-
Excel 範囲指定スクショについ...
-
【ExcelVBA】インデックスが有...
-
VBAのループ処理について教えて...
-
エクセルでCDOを使ったメール送...
-
EXCEL vbaでシート上に配置した...
-
Excel_VBAについて質疑です。(...
-
【ExcelVBA】dictionaryの重複...
-
VBAでセルの書式を変えずに文字...
-
修正依頼:【VBA】 結合セルに...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
Web画面の文字をVB6で取得したい
-
[VB.net] ボタン(Flat)のEnable...
-
エクセルのVBAコードについて教...
-
エクセルvbaの対象セルに色をつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】5万行以上のデー...
-
【ExcelVBA】dictionaryの重複...
-
VBAでセルの書式を変えずに文字...
-
[Excel VBA]特定の条件で文字を...
-
【VBA】 結合セルに複数画像と...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAのブックを開く方法...
-
WindowsのOutlook を VBA から...
-
エクセルでCDOを使ったメール送...
-
エクセルvbaの対象セルに色をつ...
-
【ExcelVBA】インデックスが有...
-
Excelのマクロについて教えてく...
-
エクセルVBAで特定のセルの値を...
-
エクセルのVBAコードについて教...
-
【VBA】値を変更しながら連続で...
-
Outlookの「受信日時」「件名」...
-
VBA 2次元配列の出力
-
Excel 範囲指定スクショについ...
-
VBA 別ブックから条件に合うも...
-
Web画面の文字をVB6で取得したい
おすすめ情報
回答ありがとうございました。
申し訳ございません、
貴社のご指示の
具体的には、拡張子「.xlsm」を付して保存すれば良いでしょう。
はコードのどの部分を変更すれば良いかが、わからないのです。
教えて頂けますか。
よろしくお願いいたします。