• 締切済み

実行時エラー9 インデックスの有効範囲はどこ?

実行時エラー9 インデックスが有効範囲にありません。と表示されます。 デバックに「 Sheets("○○○").Visible = xlVeryHidden」とエラー箇所が→でています。 ○○○の部分はマクロが組まれたExcelのsheet30中Sheet2の中にあるボタン名です。 何かをさわった記憶は有りませんが、急に上記エラーが出て、うまく動かなくなってしまい、困っています。どうしたらこのエラーは消せますでしょうか? 初歩的なことなのかも知れませんが、どうぞ宜しくお願いいたします。

みんなの回答

  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.1

Sheets("○○○")の○○○にはシート名を入れるはずですので たとえば Sheets("Sheet2").Visible = xlVeryHidden とするとSheet2が非表示になりますから 非表示にしたいシート名をSheet2のところに当てはめると元の動作になるのではないでしょうか。

riko-riko-
質問者

お礼

ありがとうございました! 早速試してみます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 実行時エラー'9' "インデックスが有効範囲にありません。"

    こんにちは。 OS・・・Win95 Excel97 を使用しているマシンで、 既存ExcelBookを開いたり、新規にBookを開いたりするときに常にこのエラーがでます。 実行時エラー'9' "インデックスが有効範囲にありません。" というエラーです。 過去ログを見てみるとマクロが関連しているかもしれないようですが、マクロは使ってません。 「終了」すると通常に使えますが、どうしたら直るのでしょうか? どなたか教えてください。 よろしくお願いします。

  • 旧VBAがExcel2013で突然実行エラー

    Excel2003で作ったVBAマクロを互換モードで保存し、ずっとExcel2013で実行できていましたが、2014.12.13に実行しようとしましたら、 Sheets("当番表サンプル").Select で実行エラー(インデックスエラー)になってしまいました。 Excel2010で実行したら、通りました。 どういう理由でしょうか?

  • 【エクセルVBA】「インデックスが有効範囲にありません」というエラーがでます

    こんにちは。VBA初心者ですが、下記コードを実行すると エラーが出てしまいました。 シート(シート1)のセルから別シート(シート2)のセルに 値のみコピーするVBAを組んでいます。 適宜、シート1に入力したものを読みこませていきたいので 変数を使用しています。 ------------------------------------------------------------- Sub セルのコピー() Dim X As Integer X = 3 Y = 2 Do While Cells(X, "A").Value <> "" Sheets("シート1").Cells(X, "A").Copy Sheets("シート2").Activate Sheets("シート2").Cells(Y, "F").PasteSpecial _ Paste:=xlPasteValues ⇒エラー対象 Application.CutCopyMode = False X = X + 1 Y = Y + 1 Loop End Sub ------------------------------------------------------------ つまり、シート1のA3セルを先頭にA4,A5,A6・・・と続くセルの値 をシート2のF2を先頭としたセル(以下、F3,F4・・・)に値のみコピー していきたいのですが。。 実行すると「インデックスが有効範囲にありません」というエラーが でます。デバック対象は上記、「⇒エラー対象」の構文です。 変数の設定の仕方がおかしいのでしょうか。。 ご教示のほどよろしくお願いいたします。

  • 「複数の選択範囲に対して実行できません」エラー

    Excel2007でVBAのプログラムを作成していますが、以下の処理を行うと、いずれも 「そのコマンドは複数の選択範囲に対して実行できません」エラーになります。 エラーになるのは、VBAマクロがあるファイルAだけなので、これに問題があるのだろうと思いますが、特に特殊なことをしているわけではなく、フォームやボタンを作成し、その処理プログラムが書かれているだけのものです。 シートは常に1シートのみを表示し、アクティブでないシートは非表示になるようにしていますが、 全てを表示しても同様のエラーになります。 シートは保護してあっても、解除されていても同様のエラーになります。 Excelファイルによってこのような事象が起きることはあるのでしょうか? <エラーになる処理> (1)ファイルA.xlsmのシート上で1セルをコピーし、別ファイルのシートに張り付けるとき。 (2)上記をプログラムから行う。 With Workbooks(pMyAplName).Sheets("AAA") .Activate .Range(.Cells(1, 1), .Cells(100, 20)).Copy Workbooks(pNewFileName).Sheets(strStName).Activate Workbooks(pNewFileName).Sheets(strStName).Cells(1, 1).Select ActiveSheet.Paste End With (3)ファイルA.xlsmに新規シートを追加する(手動だと新規シートをクリック)とき。 (4)上記をプログラムから行う。 With Workbooks(pMyAplName) .Worksheets.Add After:=Sheets(Sheets.Count) .ActiveSheet.Name = "WKAAA" End With 但し、(1)はExcelアプリケーションをもう1つ起動させ、そこで開いたファイルにならコピペできます。 (ファイルAと同じExcelアプリケーション上で開かれたファイルだとエラーになる)

  • 実行エラー9 インデックスが有効範囲にありません。

    Excelで上書き保存しようとすると、 実行エラー9  インデックスが有効範囲にありません と表示されます。今まではこんなエラーが出ずに上書き保存できていたのですが、どうしてでしょうか?

  • 実行時エラー9 インデックスが有効範囲にありません。を解決するには

    実行時エラー9 インデックスが有効範囲にありません。を解決するには どうしたら良いですか?

  • エクセル2000マクロインデックスエラー

    下記のマクロでインデックスが有効範囲にありません。 Windows(F_NAME).Activate→エラー個所 Sheets(M_KAKOBA(count)).Select→エラー個所 教えてください。 Dim work, hensu, i, j, h Windows("加工品.xls").Activate work = Sheets("masta").Cells(3, 6).Text 'シート名の変更 Windows(F_NAME).Activate Sheets(M_KAKOBA(count)).Select ActiveSheet.Name = work

  • マクロ実行時、非表示シートを表示させたくない

    ファイル[testBOOK]の中に(sheet1)(sheet2)があり (sheet2)は非表示,ブック保護されています。 (sheet1)にあるマクロAAボタンで ・[図A]を非表示 ・[図B]を表示 ・マクロBBを実行 するようになっています。 --------------------------------------- Sub AA() '≪非表示≫ ActiveSheet.Shapes("図A").Visible = False '≪表示≫ ActiveSheet.Shapes("図B").Visible = True 'ブック保護解除 ActiveWorkbook.Unprotect 'マクロBB実行 Sheets("sheet2").Visible = True Sheets("sheet2").Select Application.Run "testBook.xlsm!BB" ActiveWindow.SelectedSheets.Visible = False 'ブック保護 ActiveWorkbook.Protect End Sub ---------------------------------------- マクロBBとは[sheet2]の中にある ・[図A]を非表示 ・[図B]を表示 です。 上記のマクロを実行させると(sheet2)が瞬間的に表示されてしまうのですが、 これを表示させないようにすることはできないでしょうか?

  • Excel2003で実行時エラー6 オーバーフロー

    Excel2003で実行時エラー6 オーバーフローが出るようになりました。 Sheets(1).Range("O98") = 3000 Sheets(1).Range("O99")= 2000 Sheets(1).Range("O100") = Round(Sheets(1).Range("O98") / Sheets(1).Range("O99") * 10, 2) * -1 で使用できていましたがSheets(1).Range("O98") = 0 Sheets(1).Range("O99")= 0 にした途端上記のようなエラーが出るようになりました。 色々やってみたのですが上手くいきません。 シートを替えてやっても同じ事がでましたがシートを替えてRange("O100")を書式設定で数値に変えて良くはなりましたが本来のシートでは上手くいきません。 教えてくださいよろしくお願いします。

  • 実行時エラー

    先日はご回答いただきありがとうございました。 ご回答いただいた構文を採用してテストしてみましたところ、特定の操作時にエラーが発生してしまいました。 発生条件:「管理」部署のユーザー・シート3人と「総務」部署のユーザー・シート2人を用意      「管理」の管理職でログインしたあと、「総務」の管理職でログインを試みるとエラーが発生 発生エラー:実行時エラー'1004' 'Visible' メソッドは失敗しました: '_Worksheet' オブジェクト エラー発生箇所:ws.Visible = False(下から4行目) お手すきの時で構いませんので、宜しければご回答お願いいたします。 ElseIf isManage Then '管理職なら Dim i As Integer For i = 1 To login.Cells(Rows.Count, eColIndex.depcode).End(xlUp).Row On Error Resume Next 'エラートラップ開始 Set ws = Sheets(login.Cells(i, eColIndex.name).Value) 'Sheets("氏名") On Error GoTo 0 'エラートラップ終了 If login.Cells(i, eColIndex.depcode).Value = depcode Then If ws Is Nothing Then 'シートが無いなら MsgBox "ユーザーシートがありません", vbExclamation, "警告" Application.Visible = True 'ブックを表示 End End If ws.Visible = True 'ユーザーのシート表示 Set ws = Nothing ElseIf Not ws Is Nothing Then ws.Visible = False Set ws = Nothing End If Next

このQ&Aのポイント
  • ドコモ光からフレッツ光への事業者変更があります。変更工事日は6月8日で、フレッツ 光ネクスト ファミリーギガラインタイプに変更されます。
  • ひかりTVのサービスやISPぷららは継続して使用します。
  • フレッツ光への連絡はお願いします。
回答を見る

専門家に質問してみよう