解決済みの質問

質問No.3048327
すぐに回答を!
すぐに回答を!
お気に入り投稿に追加する (0人が追加しました)
回答数3
閲覧数6140
別のシートから値を取得するとき
Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!
投稿日時 - 2007-06-01 16:23:07

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

回答No.2
Worksheets("シートA").Range("A1")

みたいな感じでできませんか?
投稿日時 - 2007-06-01 16:41:15
この回答を支持する
(現在0人が支持しています)
お礼
できました!

とても簡単なことでしたね^^;

ありがとうございました!
投稿日時 - 2007-06-01 17:57:57
この質問は役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています

ベストアンサー以外の回答 (2)

回答No.3
Activate しなければいいのでは?
Dim Value1, Value2
Value1 = ThisWorkbook.Worksheets("シートA").Cells(1, 1).Value
Value2 = ThisWorkbook.Worksheets("シートB").Cells(1, 1).Value
とか。
セル番地の書き方を ThisWorkbook からフルで書けば、複数のブックが開いている状態でも VBA 実行中のブックの特定のシートの特定のセルに直接アクセスできます。
面倒なら
Dim SheetA As Worksheet, SheetB As Worksheet
Set SheetA = ThisWorkbook.Worksheets("シートA")
Set SheetB = ThisWorkbook.Worksheets("シートB")
Dim Value1, Value2
For ~
Value1 = SheetA.Cells(1, 1).Value
Value2 = SheetB.Cells(1, 1).Value
Next
とか
投稿日時 - 2007-06-01 16:43:37
この回答を支持する
(現在0人が支持しています)
回答No.1
処理の直前(forの前)に
Application.ScreenUpdating = False
処理の直後(nextの後)に
Application.ScreenUpdating = True
を入れてみたら、どうなりますか?
投稿日時 - 2007-06-01 16:39:32
この回答を支持する
(現在0人が支持しています)
別のキーワードで再検索する
もっと聞いてみる

関連するQ&A

回答募集中

この他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する
-PR-

OKWaveのおすすめ情報

特集

同じカテゴリの人気Q&Aランキング

カテゴリ
Visual Basic

回答のついた最新のQ&A

カテゴリ
Visual Basic

rss

horiizou

Q_iconExcelマクロ2013-10-18 13:48:02

kgyqk433

Q_icon文字の置換をしたい2013-10-18 10:08:18

mindatg

A_icon=Replace(文字,"c","0")2013-10-18 10:42:39

-PR-

ピックアップ

ノウハウ共有サイト

-PR-
-PR-