• ベストアンサー

Excel Setステートメントについて

Setステートメントの使いかたがよくわかりません。 普通に代入する場合。 SetStr = Range("A2") Setステートメントを使う場合。 Set SetStr = Range("A2") この2つに違いはあるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

私にわかる範囲での違いって、こんな感じに使い分けてます。 try1:セルの値を取得(例:文字列) try2:セル情報の取得 Sub try1()   Dim SetStr As String   SetStr = Range("A2").Value   MsgBox SetStr End Sub Sub try2()  Dim SetStr As Range  Set SetStr = Range("A2")  With SetStr       MsgBox "セル番地  " & .Address & vbLf & _              "セルの値  " & .Value & vbLf & _              "セルの行  " & .Row & vbLf & _              "セルの列  " & .Column & vbLf & _              "セルの書式 " & .NumberFormatLocal  End With End Sub ご参考になれば。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

Setステートメントはオブジェクト(ここでは範囲)を変数に代入します。 ここではセルの範囲A2を変数「範囲」という名前の変数に代入します。 従って、Setステートメントでない、test1はエラーになります。 Sub test1() SetStr = Range("A2") MsgBox SetStr.Address End Sub Sub test2() Set SetStr = Range("A2") MsgBox SetStr.Address End Sub

関連するQ&A