• 締切済み

〖緊急〗エクセルのVBAについて質問です。

エクセルのVBAを使用して、下記の動作を実行したいのですがうまくいきません。 おしえてください。 sheet1に移動したいシート名の一覧を作成し、一覧を参照してシートを移動したいです。 RangeにカーソルをあてるとA1に入力したシート名前が反映しているようなのですが・・・。 sheet1のセルA1に移動させたいシート名を入力しています。 Sub Worksheet() Worksheets(Range("A1")).Activate End Sub ※❝インデックスが有効範囲にありません❞とエラーがでます。 ※同一のBOOK内での作業です。 よろしくおねがいします。

みんなの回答

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

Worksheetsは、Sheetsコレクションを返すプロパティでしょう。 Sheetsを指定してやらないと、「インデックスが有効範囲にありません」になりますね。 例 Worksheets("Sheet1").Range("A1").Activate

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

Worksheets(Range("A1").Text).Select または Sheets(Range("A1").Text).Activate あと、プロシージャ名に「Worksheet」と付けても動きますが、混乱の元です。 もっと適切な名前を付けましょう。

  • m_and_dmp
  • ベストアンサー率54% (987/1817)
回答No.1

Sub Worksheet()のWorksheetという名前がいけないのでは? 他の名前に変更して実行してみてください。

関連するQ&A