• 締切済み

EXCEL VBAでの質問

EXCEL97です。いくつかのワークシートに、それぞれボタンを作っています。各ボタンは、処理に応じて、同じ動きをするサブルーチンを通るようにしています。1のシートのマクロはスムーズに動きます。2のシート以降からは、同じサブルーチンを通るにも関わらず、オブジェクトの不正や、インデックスの有効範囲エラーになってしまいます。 それから、同じ種類のオブジェクトが他のシートにわたる時、配列のようなINDEXをつけることは出来ますか? それと、表を作る時、一つずつのセルを小さくすると、動きが遅くなったり、重くなったりしますか?セルは大きい方がいいのでしょうか? 以上教えて下さい。

みんなの回答

  • QQQ
  • ベストアンサー率0% (0/0)
回答No.2

1つめ。サブルーチンがわからないと何ともいえないです。 2つめ、オブジェクト変数を使うのはいかがでしょう Dim ob(2) As Object Set ob(0) = Sheets(1).Label1 Set ob(1) = Sheets(1).Label2 とかすればいいのでは。 3つめ主旨がよく見えませんが、画面上にたくさんのセルが表示されていれば 少ないときより画面描画の時間がかかるかもしれません。 しかし、描画を止めればよいでしょう ScreenUpdating プロパティをHELPで参照してください。

  • michieru
  • ベストアンサー率0% (0/0)
回答No.1

ActiveSheetプロパティで、ボタンを貼り付けてあるSheetが参照できますよね。Sheetを配列化して扱うときは、Sheetsコレクションが有効です。