|    | 
     ▼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 
 | 
     
    
   |