dポイントプレゼントキャンペーン実施中!

A1からD5までデータが入っているのですが、
そのデータの情報をRangeオブジェクトに格納する事は出来ないのでしょうか?

vbaで
Sub Sampsle()
Dim r As Range
r = ActiveSheet.UsedRange

End Sub
をやろうとしてるのですが、
実行時エラー_91「オブジェクト変数またはWithブロック変数が設定されていません」になります。

r に格納しちゃえば、最終列が何列目か最終行が何行目か、A1の値は何か、などしゅとくできるんじゃないかなー
と思ったのですが、できないのでしょうか?

「Rangeオブジェクトに格納できない」の質問画像

A 回答 (1件)

VBAでオブジェクトを変数に格納する場合は、



  Set r = ActiveSheet.UsedRange

といったように、「Set」が必要です。

Sub Sample()
  Dim r As Range
  Set r = ActiveSheet.UsedRange
  MsgBox "使用範囲の総セル数は " & r.Count " です"
  Set r = Nothing
End Sub


※Setで格納した変数は、使用後はNothingをしておいた方が無難です。
    • good
    • 0
この回答へのお礼

あ!!!!
set忘れてました!
無事解決しました。ありがとうございました。

お礼日時:2013/03/08 20:31

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