OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

EXCEL VBAでの質問

  • 暇なときにでも
  • 質問No.92
  • 閲覧数72
  • ありがとう数48
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 0% (0/8)

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

回答 (全2件)

  • 回答No.1
レベル6

ベストアンサー率 0% (0/0)

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

  • 回答No.2
レベル2

ベストアンサー率 0% (0/0)

1つめ。サブルーチンがわからないと何ともいえないです。 2つめ、オブジェクト変数を使うのはいかがでしょう Dim ob(2) As Object Set ob(0) = Sheets(1).Label1 Set ob(1) = Sheets(1).Label2 とかすればいいのでは。 3つめ主旨がよく見えませんが、画面上にたくさんのセルが表示されていれば 少ないときより画面描画の時間がかかる ...続きを読む
1つめ。サブルーチンがわからないと何ともいえないです。
2つめ、オブジェクト変数を使うのはいかがでしょう
Dim ob(2) As Object
Set ob(0) = Sheets(1).Label1
Set ob(1) = Sheets(1).Label2
とかすればいいのでは。
3つめ主旨がよく見えませんが、画面上にたくさんのセルが表示されていれば
少ないときより画面描画の時間がかかるかもしれません。
しかし、描画を止めればよいでしょう
ScreenUpdating プロパティをHELPで参照してください。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ