2012-01-11 13 views
0

グローバル変数に含まれる範囲としてセルアドレスを格納するVBAに問題があります。問題は、エラーが発生し、変数が失われても機能しなくなります。できるだけ多くのエラーをキャッチしようとしていますが、可能であれば範囲をセルに保存することをお勧めします。セルに範囲を格納するVBA

誰にも提案はありますか? おかげ ジェームズは

+0

可変データを含む作業シートのセルにセルアドレスをダンプしないでくださいファイルを使用しますか?) – brettdj

答えて

1

私はこのようなものは、あなたがRangeAddressプロパティがRange

編集の文字列を返し、探しているものだと思う:Worksheet

の名前を表示するようにammendedています
Public oRng As Range 

Sub storeRange() 
    Dim oWst1, oWst2 As Worksheet 
    Dim oCell As Range 

    Set oWst1 = Application.Worksheets("Sheet1") 
    Set oWst2 = Application.Worksheets("Sheet2") 
    Set oCell = oWst1.Range("A1") 
    Set oRng = oWst2.Range("B2") 

    oCell.Value = oWst2.Name & "!" & oRng.Address 

End Sub 
+0

ありがとう! – James

+0

以下のチャールズのポストに示されているように、 'oRng.Address(,,, True)'を実行することで、完全なアドレスを得ることができます。 – Jon49

4

定義した名前に範囲を保存します: 名前がCellAddrと呼ばれ、すでに存在しているとします。

Names("CellAddr").RefersTo = "=" & Worksheets("Sheet2").Range("A3:B8").Address(True, True, xlA1, True) 

次に、定義された名前を使用して範囲値または範囲アドレスを取得できます。 名前を非表示にして保存したブックに残すこともできます。

関連する問題