アプリ版:「スタンプのみでお礼する」機能のリリースについて

Setステートメントの使いかたがよくわかりません。
普通に代入する場合。
SetStr = Range("A2")
Setステートメントを使う場合。
Set SetStr = Range("A2")

この2つに違いはあるのでしょうか?
よろしくお願いします。

A 回答 (2件)

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
    • good
    • 0

私にわかる範囲での違いって、こんな感じに使い分けてます。


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
ご参考になれば。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!