How do I get a # 39 의 이름, 주소 등 range& 워크시트의 서피스뿐 아니라 워크북에서 이름, Excel VBA?

39 라고 할 경우 (예를 들어, 이 용어는 여러 개체에 let& 's' 에서 'a1' 라는 셀입니다 워크시트를 book1. 그래서 내가 알고 있는 '주소 ()' 은 단순한 호출하십시오 가야 지역 참조: '$1 달러'. 내가 안단말이야 주소 (외부: = True) '로 불릴 수도 있다' 등 afaq 참조입니다 워크북에서 이름과 워크시트를 이름: ' [book1] sheet1! $1 달러'.

제가 원하는 것은 시트마다 이름, 주소 등 받으려면 서피스뿐 아니라 책 이름. 정말 don& # 39, 주소 (외부: = True) '와' t want to call 워크북에서 이름 있는 내 자신을 위해 시도하시겠습니까 스트립 아웃해야 구체화하십시오 총괄하였습니다. 유지됩니까 내말들어봐 내가 maxvalorarray sheet1! $1 달러 를 받을 수 있는 '콜'?

해결책

내가 생각할 수 있는 길은 워크시트의) 는 다음과 같이 이름이 셀입니다 참조에는 연결

Dim cell As Range
Dim cellAddress As String
Set cell = ThisWorkbook.Worksheets(1).Cells(1, 1)
cellAddress = cell.Parent.Name & "!" & cell.Address(External:=False)

편집:

수정하십시오 마지막 줄 수 있습니다.

cellAddress = "'" & cell.Parent.Name & "'!" & cell.Address(External:=False) 

스케쳐내 있어도 공간 또는 다른 재미있는 작품 속에서 시트마다 이름을 사용할 수 있습니다.

해설 (1)
Split(cell.address(External:=True), "]")(1)
해설 (3)

벤 말이 맞아. 난 또 can& # 39, 어떤 방법으로 이 것 같지는 않다. D # 39 는 다음 두 가지 방법 또는 벤 i& 제안하세요 스트립 이 워크북에서 이름 끄기입니다.

Dim cell As Range
Dim address As String
Set cell = Worksheets(1).Cells.Range("A1")
address = cell.address(External:=True)
address = Right(address, Len(address) - InStr(1, address, "]"))
해설 (0)

이 '주소 () 는' 워크시트를 함수은 정확히요 iqn. # 39 로 it& 아프리카션스부르크시트풍크션 ',' 을 통해 사용할 수 없습니다 () '' 내가 지었지 평가하십시오 솔루션을 사용하는 방법입니다.

이 솔루션을 사용하면 Excel 거래를 공간과 기타 재미있는 작품 속에서 좋은 우위를 시트마다 이름, 이는 이전 분입니다.

예:

Evaluate("ADDRESS(" & rng.Row & "," & rng.Column & ",1,1,""" & _
    rng.Worksheet.Name & """)")

정확히 되돌려줍니다 &quot sheet1! $1 달러 로, 'a1', '범위를 &quot 이름이' 에 대해 셀입니다 sheet1 이 객체에는 유사환 워크시트를.

이 솔루션은 다양한 주소만 되돌려줍니다 첫 번째 셀입니다 주소가 아니라 전체 범위 (&quot, sheet1! $1 달러 &quot. vs &quot sheet1! $. $1 달러 2 달러, b "). 그래서 나는 그것을 사용하는 사용자 정의 함수.

Public Function AddressEx(rng As Range) As String

    Dim strTmp As String

    strTmp = Evaluate("ADDRESS(" & rng.Row & "," & _
        rng.Column & ",1,1,""" & rng.Worksheet.Name & """)")

    If (rng.Count > 1) Then

        strTmp = strTmp & ":" & rng.Cells(rng.Count) _
            .Address(RowAbsolute:=True, ColumnAbsolute:=True)

    End If

    AddressEx = strTmp

End Function

전체 문서 워크시트를 기능을 사용할 수 있는 오피스 웹사이트 주소 (): https://support.office.com/en-us/article/ADDRESS-function-D0C26C0D-3991-446B-8DE4-AB46431D4F89

해설 (1)

코드를 작성할 수 있는 다양한 함께 할 수 있습니다 처리하는 여러 지역을 않습니다.

Public Function GetAddressWithSheetname(Range As Range, Optional blnBuildAddressForNamedRangeValue As Boolean = False) As String

    Const Seperator As String = ","

    Dim WorksheetName As String
    Dim TheAddress As String
    Dim Areas As Areas
    Dim Area As Range

    WorksheetName = "'" & Range.Worksheet.Name & "'"

    For Each Area In Range.Areas
'           ='Sheet 1'!$H$8:$H$15,'Sheet 1'!$C$12:$J$12
        TheAddress = TheAddress & WorksheetName & "!" & Area.Address(External:=False) & Seperator

    Next Area

    GetAddressWithSheetname = Left(TheAddress, Len(TheAddress) - Len(Seperator))

    If blnBuildAddressForNamedRangeValue Then
        GetAddressWithSheetname = "=" & GetAddressWithSheetname
    End If

End Function
해설 (0)
rngYourRange.Address(,,,TRUE)

전체 주소 fs@snapa 외부 주소,

해설 (1)

내가 찾은 내 사용자 정의 함수 내가 만든 다음 일했다. 내가 연결된 셀 범위 및 워크시트를 이름으로 사용된 후 참조입니다 문자열으로 평가 기술서임을 (I) 는 평가를 통해 섬프로더스).

예를 들면 다음과 같습니다.

Function SumRange(RangeName as range)   

Dim strCellRef, strSheetName, strRngName As String

strCellRef = RangeName.Address                 
strSheetName = RangeName.Worksheet.Name & "!" 
strRngName = strSheetName & strCellRef        

그럼 다른 코드에 스테른냐메 () 는 다음과 같은 뜻이 있다.

해설 (0)

나를 위한 다양한 더 오래된

(거짓값, True, False) 지아다레스

형식으로 전달자로써 시시스 b4 k9 것 같다!

왜 조건 없는 경우. str 펑스턴스 마십시오.

아마도 이미 사용된 적은 한 전자의 153 만 시행하십시오 밀리초 및 사용

약 0.3 마이크로체

라이드 = 미드플레인 (라이드, 린스트 (라이드, "] ") +1)

또는

& # 39, 약 1.7 마이크로체

(1) = 분할되었습니다 라이드 (라드, "] ")

해설 (0)

그냥 반품하십시오 워크시트를 이름과 함께 왜안돼요

  • 주소 = 셀입니다. 부르크시t.나미 * 그런 다음 다시 연결 주소를 이렇게
  • 주소 = 셀입니다. 부르크시t.나미 &amp. &quot ";! &amp. 셀입니다. 주소 *
해설 (1)
Dim rg As Range
Set rg = Range("A1:E10")
Dim i As Integer
For i = 1 To rg.Rows.Count

    For j = 1 To rg.Columns.Count
    rg.Cells(i, j).Value = rg.Cells(i, j).Address(False, False)

    Next
Next
해설 (1)

[edit 켜짐이 21-04-2009]

&lt i>;;;;;;;;; 빨리 빨리 빨리 빨리 &amp &amp &amp &amp 로 명명된 이 경우, 마이카 때만 that&lt br&gt 지적했다. 빨리, 빨리, 빨리, 빨리 &amp &amp &amp &;;;; 특정 범위 (업그레이드됨 지나미 사람?) 네,, /i&gt &lt 들소네?!

[/ 편집]

조금 늦게 자, 내가 알 수 없지만, 이 경우 물릴 수 있는 사람이 구글 검색 (방금 as I), 다음 시도할 수도 있습니다.

Dim cell as Range
Dim address as String
Set cell = Sheet1.Range("A1")
address = cell.Name

이렇게 하면 전체 주소, 같은 일이 sheet1! $1 달러 = 반품하십시오 &quot ";).

39 라고 너회가 don& 등호 다운로드하려는, t, 스트립 it off 를 대체할 수 있는 기능:

address = Replace(address, "=", "")
해설 (2)