
初心者で初心者的な質問で恐縮です。
コントロールでcombobox1を作りました。
private sub combobox1_change()
dim w as integer
w=sheets("work").range("A1")
sheets("work").range("A2").value="=match(a1,sheet2!a:a,0)"
-----------------「sheet2」は「sheet3」だったり「sheet4」だったり、色々変わります。
----中略----
end sub
combobox1は正常に動くのですが、EXCELを終了する時に(保存してもしなくても)
必ず「Sheetsメソッドは失敗しました_Globalオブジェクト」と出ます。
デバックを確認すると、
w=sheets("work").range("A1")
の部分です。
色々調べてみたのですが、原因がよく分かりません。
分かる方、いらっしゃいましたら教えて下さい。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
VBの話となると私は門外漢ですし、頼りになる人が登場されたので
これにて失礼いたします。
最後に、
AccessでExcelをOLEで操作したときに非常に参考となったHPです。
一読されることを強~くお勧めします。
消えないExcelのプロセス
http://homepage1.nifty.com/rucio/main/technique/ …
No.3
- 回答日時:
こんにちは。
>ちなみにvisual basicの vrは6.0なのですが…。
って、Visual Basic 6 なのですか?
それなら、
w=sheets("work").range("A1")
そのコードで、必ず「Sheetsメソッドは失敗しました_Globalオブジェクト」と出ます。
Applicationオブジェクトが見出せないので、Sheetsメソッドに失敗して、エラーが出ます。
最初からコードを見せていただかないと分かりません。
それに、Double 型、Integer型などの区別がきちんとついていないと、途中から抜き出して教えてもらうというのは、ちょっと無理があります。ただし、今回のエラーとは関係がありません。型の大きさが小さくて大きな数字が入れば「オーバーフロー」が出るだけです。
>EXCELの強制終了でした(汗
それに、強制終了って、仮のコードをそのまま貼り付けたのではありませんか?私は、あくまでも、親オブジェクトを明示的に入れて書いただけなのです。
No.2
- 回答日時:
こんばんは。
>必ず「Sheetsメソッドは失敗しました_Globalオブジェクト」と出ます。
たぶん、シートの親(ブック)が違っているような気がします。
ご質問には書かれていない、複数のブックを開いているという条件があるのではないでしょうか?
そのw がどこに行くのか分かりませんし、#1 さんがご指摘のように、エラーの可能性が出ます。ただし、「オーバーフロー」になりますが。
Dim w As Long
w=Workbooks("test1.xls").Worksheets("work").Range("A1").Value
Workbooks("test1.xls").Worksheets("work").Range("A2").FormulaLocal = "=MATCH(A1,SHEET2!A:A,0)"
別に、FormulaLocal プロパティでなくても、Value でも可能です。若干、遅いですが。
Sheets が間違いではありませんが、私には、雑な気がします。
それから、なるべく、Visual Basic Editor 画面のままを貼り付けてくださいね。コードは、メモ帳にテキストで貼り付けられます。
この回答への補足
何度もすみません。
>ご質問には書かれていない、複数のブックを開いているという条件があるのではないでしょうか?
複数のブックは、開いてないです。
回答、ありがとうございます。
>それから、なるべく、Visual Basic Editor 画面のままを貼り付けてくださいね。コードは、メモ帳にテキストで貼り付けられます。
そうしたかったのですが、ネットに繋がっていないパソコンで…
別の場所にあって…-RWも対応してないようなパソコンで…
手打ちでコードを書いてしまい申し訳ないです。
Wendyさんのコードを実行してみると…
EXCELの強制終了でした(汗
ちなみにvisual basicの vrは6.0なのですが…。
No.1
- 回答日時:
> dim w as integer
整数型で宣言していて
> w=sheets("work").range("A1")
ではRangeオブジェクトを代入しているので
エラーになるのでは?
識者の説明を期待して下さい (^_^;)
dim w as Double
w=sheets("work").range("A1").Value
ではどうなりますか?
なお W はアップされたコードの中では使用されていませんけど?
>なお W はアップされたコードの中では使用されていませんけど?
match関数が違ってました。申し訳ありません。
正しくは…
sheets("work").range("A2").value="=match(a1,"& w &"!a:a,0)"
です。
dim w as double
にしても同じエラーが返ってきました。。
本当にありがとうございます。
doubleも使ったことがなかったので、とっても勉強になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
VBAで Set wb = Sheets(1).Cop...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
エクセルのVBAの標準モジュール...
-
AccessVBAで「dim dbs as datab...
-
ASP レコードセットしたオブジ...
-
vb6.0でEXCELオブジェクトの使用
-
パワーポイント filedialogでフ...
-
エクセルから表をパワーポイン...
-
アクセスにてオブジェクト名変...
-
エクセルVBAで配列内に空白デー...
-
getterとsetterについて
-
CreateObjectとGetObjectの違い
-
(初心者です)VBAについて。「実...
-
AccessVBAからWordのマクロを実...
-
ListView内の検索 VB6
-
オブジェクト変数またはWITHブ...
-
sheetsメソッドの失敗
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
VBAからPDFファイルにパスワー...
-
エクセルVBAでcode128のバー...
-
VBScriptからDLL参照設定したい
-
VBAについてです。 初心者です...
-
エクセルマクロエラー「'Cells'...
-
オブジェクトが見つかりません
-
エクセルVBAで配列内に空白デー...
-
Excel VBAでWordの複数ファイル...
-
VBScriptでファイルの日時順(降...
おすすめ情報