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

こんにちは。いつも参考にさせていただいています。
マクロでPivotを自動更新する記述をしています。
データが入力されているシートに
名前の定義をして"データ"と名前をつけ、参照範囲を以下のとおり設定しました。
=OFFSET($A$1,0,0,COUNTA($A:$A),COUNTA($1:$1))

Pivotが表示されるシートのマクロに下記のように記述して、
自動的に更新ができることを確認できました。
Private Sub Worksheet_Activate()
Range("A1").Select
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"データ"
End Sub

マクロ自体は問題なく動くのですが、
目でも確認をとりたいため、MsgBoxを追加して、現在選択されているデータ範囲を表示させたいと考えています。
例) 「データ範囲は$A$1:$D$150に変更されました」
そこで、
MsgBox "データ範囲は" & データ & "に変更されました"
という一文を上記に追加してみましたが、データの部分でセルの範囲を取得できませんでした。
"データ"としてもダメで、名前の定義で指定された範囲の値を取得する方法がわかりません。
マクロで可能な仕様なのかもわからないのですが、
どなたか解決法をご存知でしたら教えていただけないでしょうか。

よろしくお願いします。

A 回答 (2件)

MsgBox "データ範囲は" & Sheets("Sheet1").Range("データ").Address & "に変更されました"



Sheet1の部分は「データ」が含まれるシート名に変更して下さい。
    • good
    • 0

Range("データ").Address



で、範囲が取得出来ます。
    • good
    • 0
この回答へのお礼

hana-hana3さん、
早速ありがとうございます。
Range("データ").Addressを試してみましたが、どこにどのように記述すればよいのかいまいちわかりません。
MsgBox "データ範囲は" & Range("データ").Address & "に変更されました"
としたところ、定義エラーになり、
Dim DataAddress As Range
DataAddress = Range("データ").Address
なども試してみましたがダメでした。

webで見つけた以下の名前の定義ではなくシート名を指定する方法ではできましたが、
上記でやるにはどうしたらいいのでしょうか。
MsgBox "データ範囲は" & Worksheets("シート名").UsedRange.Address & "に変更されました"

すみませんがよろしくお願いします。

お礼日時:2007/12/11 16:11

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