2017-01-25 1 views
0

私はRange Functionの逆数を探していると思います。ワークシートに名前付きRangeがあり、イベントマクロでは、A1:A12のように範囲定義文字列を取得することに興味があります。グーグル "ExcelのVBA関数が範囲のセルIDを返すことはできますか?"

Private Sub UserForm_Initialize() 
    Dim MyData As Range 
    Dim r As Long 
    With Me.ListBox1 
     .RowSource = "" 
     Set MyData = Worksheets("Sheet1").Range("A2:D100") 'Adjust the range accordingly 
     .List = MyData.Cells.Value 
     For r = .ListCount - 1 To 0 Step -1 
      If .List(r, 3) = "" Then 
       .RemoveItem r 
      End If 
     Next r 
    End With 
End Sub 

私はむしろイベントマクロで範囲をハードコーディングするのではなく、「設定するのMyData =」文で範囲の名前を使用したい:ここで私が働いているコードがあります。あなたは、単に範囲のアドレスが必要な場合

+0

があなたの '名前付きRange'定義のそれぞれで独立し共有できるアドレスを?あなたの '名前の範囲 'の名前は何ですか?ワークブックレベルまたはワークシートレベルですか? –

+1

「MyData」を「OnlinePayee」ワークシートの「OnlinePayeeNames」という名前のワークシート上の範囲に設定したい場合は、単にSet MyData = Worksheets( "OnlinePayees")を使用できます。範囲( "OnlinePayeeNames") ' – YowE3K

答えて

0

、使用

Dim MyRange as Range 
Set MyRange = Worksheets("Sheet1").Range("A2:D100") 
' Here do what you want 
Msgbox MyRange.Address 

.Addressは "A2:D100" を返します

https://msdn.microsoft.com/fr-fr/library/office/ff837625.aspx

+0

私は、イベントマクロでハードコーディングするのではなく、範囲の定義をワークシートに残すことに興味があります。私は試しました: – Geneous42

+0

"範囲の定義"と "ハードコーディング"の違いを説明できますか? –

+0

私は、イベントマクロでハードコーディングするのではなく、範囲の定義をワークシートに残すことに興味があります。私が試した: のMsgBoxワークシート( "OnlinePayees")をOnlinePayeeNames.Address OnlinePayeeNamesは、範囲名ですが、#438 'ワークシート( "OnlinePayees")してみ – Geneous42

関連する問題