VBAの[cellsメソッドは失敗しました。Global]エラーの考えられる理由は?

このQ&Aのポイント
  • VBAのcellsメソッドを使用する際に、誤ったコードが含まれている可能性があります。
  • 肉付け部分に誤りがあり、それがエラーの原因となっています。
  • VBAを再起動することでエラーをリセットすることができますが、同じエラーが再発する場合、別の原因が考えられます。
回答を見る
  • ベストアンサー

VBAの[cellsメソッドは失敗しました。Global]エラーの考えられる理由は?

VBAのコード中にcells(i-1)を含む記述をして、実行しました。最初はうまくいきました。そして、このコードの下に新たな肉付けを行いました。そして、実行をすると[cellsメソッドは失敗しました。Global]というエラーが出てきました。なので、肉付け部分を省き最初のコードに戻して実行しました。すると最初はうまくいったのに今度は、先ほどと同じエラーメッセージが出てきます。これをリセットするにはVBAを再起動するしかありません。ここで傾向として、恐らく肉付け部分に誤りがある状態で実行するとその様な状態に陥ってしまいます。実行前にはきちんとリセットはしているのですが・・・。考えられる原因を教えて頂きたいです。宜しくお願い致します。

  • e-l
  • お礼率45% (158/349)

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

どんなコードを書かれているかが不明なので、明確な回答は出来ませんが、以前にも同様の質問に回答してますので、参考にしてみては? http://okweb.jp/kotaeru.php3?q=779303

参考URL:
http://okweb.jp/kotaeru.php3?q=779303
e-l
質問者

お礼

有難う御座います。参考になりました・

関連するQ&A

  • VBAで実行時エラー1004が出ます

    VBAで実行時エラー1004が出ます。 「Rangeメソッドは失敗しました。Worksheetオブジェクト」です。 あらゆる可能性を調べたのですが、分かりません。誰か教えて頂けますでしょうか? 下記コードの「Cells(m, 7) =・・・」の部分がエラーになりました。 Sub ボタン1_Click() Dim 現シート As Worksheet ~ 現シート.Activate Cells(m, 7) = WorksheetFunction.VLookup(現シート.Range(現シート.Cells(m, 4)).Select, 現シート.Range(現シート.Cells(4, 104), 現シート.Cells(15, 107)).Select, 4, False) ~ End Sub 何卒宜しくお願いいたします。

  • エクセル2007VBAでUngroupができない

    エクセル2003で作ったvbaコード付きのファイルをエクセル2007で開いたときに Cells.Rows.Ungroup の部分がエラーになってしまいます。 エラー内容は 「実行時エラー1004 RangeクラスのUngroupメソッドが失敗しました」 です。 エクセル2003では問題なく動いていたのになぜ2007ではだめなのでしょうか? vba画面でデバッグしてもコンパイルエラーにはなりません。 アドバイスよろしくお願いします。

  • エクセルVBAの質問です。

    エクセルVBAの質問です。 セルに特定の値が入力された場合にエラーとし、「再試行」を選択するとセルが修正出来る状態にしたいのですが、下記のコードだと実行時エラーが発生してしまいます。 if cells(10,10).value > 1 then if msgbox("err", vbCritical + vbRetryCancel,"") = vbRetry then Cells(10,10).Select Cells(10,10).Active ⇒ エラー箇所 else Cells(10,10).ClearContents Endif Endif 実行時エラー '438' オブジェクトは、このプロパティまたはメソッドをサポートしてません。 いろいろネットを検索してみましたが、よくわかりませんでした・・・。 VBAは初心者です。 かなり困ってます。 どなたか助言をお願い致します。

  • VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー

    始めまして、VBA初心者のものです。 ただいまエクセルでグラフを作成しています。作業自体は単純作業の繰り返しなのでVBAを用いてやりたいのですが、マクロを実行したときに実行時エラー’1004’rangeメソッドは失敗しました。’_global’オブジェクトとメッセージが出て、実行できません。 デバックをすると以下の5行目で黄色のバーが出ていました。自分なりに原因を考えたのですがrangeの関係するところに、Range("A8:A1587,e8:e1587")というような変数を用いないやり方でやると上手くいくので、変数に関する定義がまずいと思うのですが、それ以上の事は分かりません。どなたか、分かる方がおりましたら、よろしくお願いします。また、プログラムは以下のようになります。 Sub 繰り返し() '繰り返し Dim s As Integer For s = 0 To 17 Range("cells(8,1):cells(1580,1),cells(8,s+2):cells(1580,s+2)").Select Range("cells(8,s+2)").Activate Charts.Add ActiveChart.ChartType = xlXYScatter ActiveChart.SetSourceData Source:=Sheets("20081216_210647").Range( _ "cells(8,1):cells(1580,1),cells(8,s+2):cells(1580,s+2)"), PlotBy:=xlColumns ActiveChart.SeriesCollection(1).Name = "=""0810p2x""" ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="0810p2x" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "0810p2x" .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "t" .Axes(xlValue, xlPrimary).HasTitle = False End With Next End Sub

  • ExcelのVBAでRangeとCellsをWSHから使いたいのですが・・

    エクセルに書き込むマクロのコードを書いていたのですが、 Exl.range(Cells(1, 1), Cells(3, 4)).Font.Bold = True のような部分が、VisualBasic や OFFICEのVBA上で 参照設定でExcelを指定していると、動くのですが、 同じコードが、WSHでは参照設定ができないせいなのか、 動きません。WSHの場合、どのようにしたらよいのでしょうか。 よろしくお願いします。

  • vbaのFindメソッドで取得するにはどうすれば

    A1に「あ」B1に「い」と入れて、 A2に「=A1&B1」としました。 この時、A2は「あい」と表示されます。 今回やりたいことは、 Sub test() Debug.Print Cells.Find(What:=" あい").Row End Sub で、2を返したいのですが、 実行時エラー91になってしまいます。 セル内に該当の文字列がないからだと思いますが、 数式でつなげた文字列を、 vbaのFindメソッドで取得するにはどうすれば良いでしょうか?

  • GetOpenFilename メソッドについて

    ACCESSのVBAで、GetOpenFilename メソッドを使いたいのですが、VBAで記述を行うとエラーになってしまいます。EXCELのVBAでは、記述できます。ACCESSのVBAでは、使用できないのでしょうか? どなたか、教えて下さい。 (ACCESSは、Office XPです)

  • VBA Sortメソッドについて

    VBA初心者です。 並べ替えをしたくてSortメソッドというのを使っているのですが、 Sortメソッドの後にプログラムを書くと 「実行時エラー'1004':アプリケーション定義またはオブジェクト定義エラーです」 と出てしまいます。 Worksheets(sheets).Range("A1:D30").sort _ Key1:=Range("B2"), _ Header:=xlGuess, _ MatchCase:=True, _ SortMethod:=xlPinYin ↑こんなプログラムを2個続けて(sheetsを変えて)実行させ、 その後にもいろいろ続けて書きたいのですがどうしたらいいのでしょう。 「:=」という書き方を初めて使ったのでよく理解できていません。 ご教授いただけると助かります。

  • VBAのエラー:438

    VBA初心者ですが、宜しくお願いします。 ver:Office 2000 新しいパスワードをつけるマクロを実行すると「実行時エラー438 オブジェクトは、このプロパティまたはメソッドをサポートしていません」となります。 ソースはここです↓ ActiveWorkbook.Password = "TEST" ほかの端末(office2003)では実行できるのに何故でしょうか

  • なぜエラーになるのかわかりません。

    コードとしては問題ないはずなのに なぜエラーになるのかわかりません。 Private Sub Worksheet_Activate() Cells(1, 1).Select End Sub というコードで、 実行時エラー1004 rangeクラスのselectメソッドが失敗しました。 となります。

専門家に質問してみよう