下記のマクロは以前教えて頂いたマクロを少しアレンジして設定しております。
マクロを実行すると、ダイアログが開き、指定フォルダに指定セル値名でマクロ有効ブックで保存できます。
保存後に、元のマクロ有効ブックが閉じるようになっております。
マクロ実行前のファイルもマクロ有効ブックです(マクロ有効テンプレートではありません)
しかし、マクロを実行すると、画像のようなエラーメッセージが表示され、
コードの「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を見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
VBAに詳しい方教えてください。
Visual Basic(VBA)
-
VBAなくなるの?
Visual Basic(VBA)
-
-
4
VBAを使用した時間管理
Visual Basic(VBA)
-
5
Excel-VBAのmsgBox()の不思議
Visual Basic(VBA)
-
6
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
7
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
8
Vba SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
9
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
10
Vba 実数および実数タイプの変数について教えてください
Visual Basic(VBA)
-
11
エクセルVBAについて
Visual Basic(VBA)
-
12
【ExcelVBA】値を変更しながら連続でPDFを作成し,それらを結合した状態で出力するコード
Visual Basic(VBA)
-
13
エクセルVBA
Visual Basic(VBA)
-
14
引数に数値、文字列の混在
Visual Basic(VBA)
-
15
VBAのコードを教えてください
Visual Basic(VBA)
-
16
VBのWPFとはなんでしょうか?
Visual Basic(VBA)
-
17
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
18
エクセルVBAにて =A1=B1とすれば A1とB1のセル内容が一緒だった場合 TRUE 違っていれ
Visual Basic(VBA)
-
19
左右の表のキー位置を合わせたい
Visual Basic(VBA)
-
20
エクセルのマクロについて教えてください。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelVBAでPDFを閉じるソース
-
ソース内の行末に\\
-
特定文字のある行の前に空白行...
-
TERA TERMを隠す方法
-
wordを起動した際に特定のペー...
-
アクセス マクロ クリップボ...
-
【EXCEL VBA】オートシェイプを...
-
ExcelVBA 図形をクリックした...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
マクロ実行時、ユーザーフォー...
-
コマンドボタンに二回目のマク...
-
WORD テキストボックスを全ペ...
-
EXCELマクロでのThisisWor...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
2つのマクロでチェックボックス...
-
マクロ実行時、ユーザーフォー...
-
【マクロ】1つのマクロの中に...
-
ピボットテーブルでの毎回可変...
-
特定文字のある行の前に空白行...
-
エクセルのマクロについて教え...
-
wordを起動した際に特定のペー...
おすすめ情報