
下記のマクロは以前教えて頂いたマクロを少しアレンジして設定しております。
マクロを実行すると、ダイアログが開き、指定フォルダに指定セル値名でマクロ有効ブックで保存できます。
保存後に、元のマクロ有効ブックが閉じるようになっております。
マクロ実行前のファイルもマクロ有効ブックです(マクロ有効テンプレートではありません)
しかし、マクロを実行すると、画像のようなエラーメッセージが表示され、
コードの「For i = 0 To UBound(List)」部分が黄色くなっております。
この問題の解決方法を教えて
現状のマクロ
Sub 昇降機青紙保存()
Dim alert As VbMsgBoxResult
alert = MsgBox("【青紙】保存を行いますか?", vbYesNo + vbQuestion, "【青紙】保存確認")
If alert <> vbYes Then
Exit Sub
End If
On Error Resume Next
Application.DisplayAlerts = False
Dim vDeleteSheet As Variant
On Error GoTo 0
Application.ScreenUpdating = False
Const folder As String = "\\nas-sp01\share\確認部\電子申請 関連\1.受付\1.確認申請\"
Dim newName As Variant
Dim initName As String
initName = folder & Range("CQ1").Value
newName = Application.GetSaveAsFilename(InitialFileName:=initName, FileFilter:="Excel マクロ有効ブック(*.xlsm), *.xlsm")
If newName = False Then Exit Sub
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
ThisWorkbook.SaveAs newName, xlOpenXMLWorkbookMacroEnabled
Application.ScreenUpdating = True
Application.Quit
With ThisWorkbook
.Saved = True
.Close False
End With
End Sub
以上となります。
よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
こんばんは
>以前教えて頂いたマクロを少しアレンジして設定しております。
元のものが動作していたのなら、変更した部分が悪いのではないでしょうか?
>「For i = 0 To UBound(List)」部分が黄色くなっております。
Listを検索してみればわかるかと。
>Dim List As Variant
>For i = 0 To UBound(List)
>If ws.Name = List(i) Then
の3箇所だけなので、何の設定もされていない変数を配列として扱おうとしているので、エラーになっているだけでしょう。
No.2
- 回答日時:
UBoundは、配列名Listの添え字の最大値を返す関数。
例えば、Listが要素10個の配列なら、UBound(List)は10を返す。
ソースを見ると、配列宣言してるけど、中にセットする様な実行文が無い。
だから、UBound(List)は0では無くNULL(FALSE)を返してるわけ。
当然、整数でも無いのだから、「型が違うよ」と言ってる。
修正方法は解りません。
Listが何なのか、これを見ても解らないからね。
多分、対象とするファイル名(ブック名)を最初に複数セットして置くんじゃ無いですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/11/08 10:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) マクロについて教えてください。 下記のマクロは以前教えて頂いたマクロです。 マクロを実行すると 指定 6 2024/01/17 17:50
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/01/16 10:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/01/12 16:09
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
ExcelVBAでPDFを閉じるソース
-
TERA TERMを隠す方法
-
Excel マクロ VBA プロシー...
-
Excel_マクロ_現在開いているシ...
-
エクセルに張り付けた写真のフ...
-
Excel・Word リサーチ機能を無...
-
IF関数を使ってマクロを実行さ...
-
VBA 登録ボタンを省略してエン...
-
EXCEL VBAでApplication.waitを...
-
wordを起動した際に特定のペー...
-
ダブルクリックで貼り付けた画...
-
一つのTeratermのマクロで複数...
-
エクセルのマクロをセルの値に...
-
一定時間経過したExcelの...
-
特定文字のある行の前に空白行...
-
組んだマクロをメールで送る
-
システムコールとOSマクロ
-
ExcelのVBAを使ってタイトル行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
Excel マクロでShearePoint先の...
-
エクセルに張り付けた写真のフ...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
Excel VBAからAccessマクロを実...
-
ダブルクリックで貼り付けた画...
-
【EXCEL VBA】オートシェイプを...
-
マクロで空白セルを詰めて別シ...
-
wordを起動した際に特定のペー...
おすすめ情報