|
▼UO3 さん:
ご回答ありがとうございました。
フォームのテキストBOXにシートを指定することができました。
フォームで「次へ」ボタンを押すと行を移動するようにしていて、
移動先をアクティブセルとするように以下のようにSelectとしているのですが、別シートへ切り替えが時にこの次へボタンを押した時にそのシートではアクティブせるとしてSelectさせないようにさせるには、どうしたらよいでしょうか。
補足で申し訳ございません。
Dim データ行 As Ling
Private Sub cmdButton次_Click()
データ行 = データ行 + 1
Cells(データ行, 3).Select
End Sub
>▼ケイ さん:
>
>こんにちは
>
>時折、ユーザーフォームモジュールが【特定のシート】配下にあるような
>イメージをもたれる方がいらっしゃいますね。
>
>エクセル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
|
|