Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


14119 / 76738 ←次へ | 前へ→

【68119】Re:フォームに表示するシートを固定する
回答  UO3  - 11/2/3(木) 11:13 -

引用なし
パスワード
   ▼ケイ さん:

こんにちは

時折、ユーザーフォームモジュールが【特定のシート】配下にあるような
イメージをもたれる方がいらっしゃいますね。

エクセルVBAには様々なモジュールがあるわけですが、シートモジュール以外は
各シートは、それらモジュールから見て、【並列】です。
ですから、たとえば Range("A1").Value とだけ記述すると、
【たまたまその時にアクティブになっているシートのA1】を参照します。

複数シートがあり、つねに、ある特定のシートの値を参照する場合は
特定のシート.Range("A1").Value というように、【シート修飾】をしてやる
必要があります。

シート修飾はいろいろな記述方法がありますが、2つほど。

1)With を使います。セル範囲記述の前に .(ピリオド)を付加します。

  With Sheets("Sheet1")
   TextBox1.Value = .Range("A1").Value
   Label1.Caption = .Range("A2").Value
  End With

2)シートオブジェクトを使います。

  Dim sh As Worksheet
  Set sh = Sheets("Sheet1")
  TextBox1.Value = sh.Range("A1").Value
  Label1.Caption = sh.Range("A2").Value
  Set sh = Nothing

3 hits

【68105】フォームに表示するシートを固定する ケイ 11/2/2(水) 16:41 質問
【68107】Re:フォームに表示するシートを固定する [名前なし] 11/2/2(水) 20:20 発言
【68115】Re:フォームに表示するシートを固定する ケイ 11/2/3(木) 10:06 質問
【68119】Re:フォームに表示するシートを固定する UO3 11/2/3(木) 11:13 回答
【68123】Re:フォームに表示するシートを固定する とおりすがり 11/2/3(木) 13:55 回答
【68124】Re:フォームに表示するシートを固定する UO3 11/2/3(木) 14:21 発言
【68125】Re:フォームに表示するシートを固定する ケイ 11/2/3(木) 14:22 質問
【68126】Re:フォームに表示するシートを固定する UO3 11/2/3(木) 15:22 回答

14119 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free