
よろしくお願いします。
マクロを実行時、下記のエラーがでます。
ちなみにデバッグモードでは、「→」矢印のついた行が黄色くハイライトされます。
「実行時エラー91 オブジェクト変数またはwithブロック変数が設定されていません」
Set wb1 = Workbooks.Open("\\HOGE-01\hoge_joint\商品リスト\在庫表.xlsm")
→ Set ws1 = wb1.Sheets("総合") ' SheetをSheetsに修正
ただ、当該エクセルファイルのショートカットを作成し、そのショートカットアイコンのプロパティにて以下を登録し、そのショートカットから実行すると正常に実行されます。(作業フォルダは空白でも正常に動きます)
リンク先:\\HOGE-01\hoge_joint\商品リスト\在庫表.xlsm
作業フォルダ:\\HOGE-01\hoge_joint\商品リスト
このファイルをショートカットからではなく、本体から実行し、エラーがでなくなる方法をご教授いただけますと幸いです。
※\HOGE-01\hoge_joint\ とそのサブフォルダは信頼できる場所に設定してあります。
※信頼済みドキュメントの設定では、ネットワーク上のドキュメントは信頼するにチェックしています
※マクロの設定は、警告してVBAマクロを無効にするにチェックしています。
※マクロの設定ですべてのマクロを有効にして試しましたがショートカットからしか動作しませんでした。
※インターネットオプション、セキュリティで、ローカルインターネットに当該のIPを登録しましたが、これもショートカットからしか実行できませんでした。
※共有設定はEveryoneでフルアクセスです。
以上、何卒よろしくお願い申し上げます。
No.3
- 回答日時:
こんばんは
ご質問文からはハッキリしませんけれど、シート取得の際のエラーであれば、その前のOpen処理は正しく行われていることになります。
であるなら、当該ブックが開いてアクティブになっている状態でエラーが発生しているはずですが、そうなっていますでしょうか?
もしも、ブックがちゃんと開いているのなら、何らかの理由で戻り値を取得できていない可能性が疑われますが、ウォッチウインドウなどで変数wb1の内容を調べてみてください。
仮に、取得できていないようなら、Open後に
Set wb1 = ActiveWorkbook
などで、再取得してみても動作しないでしょうか?
なんとなくの雰囲気からは、サーバー側のロケールとの関連などで、日本語のパスが正しく解釈されていないような気もしますけれど・・・
No.2
- 回答日時:
こんばんは
再現できない事と掲示されているコードだけですと
91エラーを特定するには情報が足りないと思いますので
参考程度でお願いします
>ショートカットからなら正常に動作する疑問
これはショートカットからは単に開くだけでVBAからは開いたのちに特定シートを取得している違いだと思います
以下推測
ざっくりだとwb1が取得できていない為と思うのですが
ステップ実行だとエラーが出ないとか・・・
気になるのは在庫表.xlsmの拡張子・・・マクロ付きブックですね
Open系Activate系イベントなどは有りますか?
他のブックから開く想定で良いのですよね・・・
既にしているかもしれませんが ミニマムで実験を行ってみては
イベントを抑止してみる・読み取り専用で開いてみるとか・・
ActiveWorkbookで取得してみるとか・・・
新規ブック・標準モジュールで
Option Explicit
Private Const TargetPaht As String = "\\HOGE-01\hoge_joint\商品リスト\在庫表.xlsm"
Private Const TargetSheetName As String = "総合"
Dim wb1 As Workbook
Dim ws1 As Worksheet
Dim str As String
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Call Tst1(True): Debug.Print str
Call Tst2(False): Debug.Print str
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Sub Tst1(fg As Boolean)
str = ""
Set wb1 = Workbooks.Open(TargetPaht, ReadOnly:=fg)
If Not wb1 Is Nothing Then
str = "wb1:True :" & wb1.Name
wb1.Sheets(TargetSheetName).Visible = True
Set ws1 = wb1.Sheets(TargetSheetName)
If Not ws1 Is Nothing Then str = str & " | ws1:True" & ws1.Name
wb1.Close
Set wb1 = Nothing
Set ws1 = Nothing
Else
str = "wb1:NG"
End If
End Sub
Sub Tst2(fg As Boolean)
str = ""
Workbooks.Open TargetPaht, ReadOnly:=fg
Set wb1 = ActiveWorkbook
If Not wb1 Is Nothing Then
str = "wb1:True :" & wb1.Name
Set ws1 = ActiveWorkbook.Sheets(TargetSheetName)
If Not ws1 Is Nothing Then str = str & "| ws1:True : " & ws1.Name
ActiveWorkbook.Close
Set wb1 = Nothing
Set ws1 = Nothing
Else
str = "wb1:NG"
End If
End Sub
イミディエイトウィンドウに出力れますか?
そもそも実行時エラーがはかれてしまいますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/11/09 11:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) マクロの有効化するダイヤログにつきまして 4 2024/04/30 15:38
- Visual Basic(VBA) エクセルのVBAコードについて教えてください。 2 2024/07/04 10:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2024/04/05 09:58
- Visual Basic(VBA) Excelのマクロについて教えてください。 下記のマクロを実行すると 別ブックに指定セル値をコピーで 1 2024/04/05 21:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルの改行について
Visual Basic(VBA)
-
vbaマクロについて
Visual Basic(VBA)
-
9月17日でサービス終了らしいのですが、今までのようなエクセルの質問や相談はどこですればいい?
Excel(エクセル)
-
-
4
エクセルのファイルのコピーをとりたい
Excel(エクセル)
-
5
ユーザーマクロ作成
Excel(エクセル)
-
6
システムファイルについて
Excel(エクセル)
-
7
自動的に日付入力 応用
Excel(エクセル)
-
8
マクロを実行すると、セル範囲に @ がついてしまう
Excel(エクセル)
-
9
【マクロ、画像あり】A表かB表かどちらか判断をして、処理をする
Excel(エクセル)
-
10
エクセルで同じブックを開くについて
Excel(エクセル)
-
11
エクセルのマクロを記録して即実行したらエラー
Excel(エクセル)
-
12
エクセルの循環参照、?
Excel(エクセル)
-
13
エクセル
Excel(エクセル)
-
14
役所でもらった書類をエクセル化するには? 役所に申請する用紙があります。A4で表になっていて枠内に文
その他(Microsoft Office)
-
15
VBA_日時のソート
Excel(エクセル)
-
16
エクセルについてどう関数を使えばいいか教えてください。
Excel(エクセル)
-
17
エクセルについて教えてください
Excel(エクセル)
-
18
3〜400人分のデータをExcelで管理したいのですが 全ての人に番号を割り振り番号を入力すればその
Excel(エクセル)
-
19
派遣会社とかハローワークとかがやってるパソコン研修(主にエクセル)って受けといた方がいいんでしょうか
Excel(エクセル)
-
20
Excelの新しい空白のブックを開く度に 画像のような警告が出てきます ブック59と書かれていますが
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセルのdatedif関数を使って...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
【マクロ】【配列】3つのシー...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
vba テキストボックスとリフト...
-
エクセルのVBAで集計をしたい
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
ページが変なふうに切れる
-
【マクロ】アクティブセルの時...
-
【マクロ】3行に上から下に並...
-
エクセルの循環参照、?
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】A列にある、日付(本...
-
エクセル
-
エクセルに、105と入力すると、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報
ご回答、誠にありがとうございます。
>マクロはOpen済の<在庫表.xlsm>に書かれているんじゃないですか?
仰せの通りで、No.1様のご回答を見、これに違いない! 思い当たる挙動がある! と思いOpenの箇所を修正、他にも「wb1.Sheets」を多数使っていましたので、「wb1.Sheets」を「ThisWorkbook.Sheets」にカレントプロジェクト単位で総置換したところ、ショートカットからではなく、本体エクセルファイルから正常に実行することができました。AI頼りで作ったプログラムでしたので、正常には動いてくれてとても助かっているマクロなのですが根本的な部分の理解がまったく足りていませんでした。。。
まだ皆さまからのアドバイスをすべて見切れていませんが、その内容を見、勉強したいと思います。
取り急ぎの御礼とご報告までにて失礼いたします。