Excel에서 셀 이름 검색 중
다른 셀에 있는 특정 셀의 셀 이름을 표시하는 방법이 있습니까?사용자가 셀 이름을 클릭하지 않고 식별할 수 있도록 인접 셀에 셀 이름을 표시합니다.
이 함수는 셀이 속한 명명된 범위의 이름을 제공합니다.
Public Function CellName(oCell As Range) As Variant
Dim oName As Name
For Each oName In ThisWorkbook.Names
If oName.RefersToRange.Parent Is oCell.Parent Then
If Not Intersect(oCell, oName.RefersToRange) Is Nothing Then
CellName = oName.Name
Exit Function
End If
End If
Next
CellName = CVErr(xlErrNA)
End Function
워크북의 모든 이름을 순환한 다음 각 이름에 대해 시트 입력 매개 변수가 이 이름에서 가져온 항목을 참조하는지 확인합니다.그런 다음 입력 셀과 이름으로 참조된 레이지가 교차하는지 확인합니다.그러면 범위 이름이 반환됩니다.
ADDRESS(ROW(),COLUMN())
현재 셀의 $A$1과 같은 주소를 제공합니다.행/열 값(숫자)을 추가/제외하여 원하는 셀을 참조합니다.
만약 당신이 달러를 원하지 않는다면 당신은 그것을 찾아서 바꿀 수 있습니다.SUBSTITUTE(ADDRESS(ROW(),COLUMN()),"$","")
그리고 예를 들어 A1만 받습니다.
Excel 2013 및 일부 이전 버전에서도 ADDRESS()는 다음 값으로 반환할 주소의 형식을 정의하는 세 번째 매개 변수를 허용합니다.
1 - 절대(기본값)
2 - 절대 행/상대 열
3 - 상대 행/절대 열
4 - 상대
그래서 A1 셀에 있다고 합시다.
ADDRESS(ROW();COLUMN()) //outputs $A$1
ADDRESS(ROW();COLUMN();1) //outputs $A$1
ADDRESS(ROW();COLUMN();2) //outputs A$1
ADDRESS(ROW();COLUMN();3) //outputs $A1
ADDRESS(ROW();COLUMN();4) //outputs A1
셀 A1 유형에 셀 D3의 이름을 표시하려면 다음을 수행합니다.
ADDERSS(ROW(D3);COLUMN(D3);4) //outputs text D3 in cell A1
기술적으로 시트에 숨겨진 열을 추가하는 것이 괜찮다면 이를 위해 SUSTREPUTE() 기능과 새로운 FORMULEXT() 기능을 결합할 수 있습니다.
셀 A1의 이름이 FOO라고 가정합니다. 이름이 지정된 셀에 B1의 간단한 참조 공식 추가 = FOO C1의 공식 추가 = FULATUTE(FORMATULATEXT(B2)),","")" 열 B 숨기기
셀 C1에 값 FOO(또는 이름 없는 셀에 대한 RC 참조)가 포함됩니다.
필요에 따라 조정하면 주행 거리(또는 킬로미터)가 달라질 수 있습니다.
그것은 불가능해 보이는데, 이상합니다.당신은 생각할 것입니다.cell()
함수는 이름을 얻는 방법을 제공해야 하지만 그렇지 않습니다.아쉽습니다.
ActiveWorkbook.Sheets.Item(1).Cells(row, col).Name.Name
나는 아다르샤로부터 위의 답변에서 몇 가지 '조언'을 들었습니다.저는 그 루프와 몇 가지 개선 사항이 있는 아래 코드와 유사한 결과를 얻었습니다.하지만 저의 '엑셀에 대한 팁' 매크로는 디버거를 가장 친한 친구로 만드는 것입니다.
Function name_of(clls)
'
name_of = ""
'
Dim nam As String
Dim rg As Range
Set rg = clls
'
nam = rg.Name.Name
'
name_of = nam
'
End Function 'name_of
약간의 인내심과 인내심이 제가 찾던 것을 주었습니다. 사용자가 정의한 기능을 통해 세포의 정의된 이름을 알 수 있었습니다.동일한 셀에 둘 이상의 이름이 있을 경우 어떻게 됩니까?한번 해보고 보세요.이것은 간단한 테스트이기 때문에, 저는 여러분이 새로운 지식을 실험하고, 배우고, 전달할 수 있도록 남겨두려고 합니다.
이는 매우 기본적인 상황에서 작동합니다.
Public Function CellName(cel As Range) As Variant
Dim nm As Name
For Each nm In Names
If nm.RefersTo = "=" & cel.Parent.Name & "!" & cel.Address Then
CellName = nm.Name
Exit Function
End If
Next
CellName = CVErr(xlErrNA)
End Function
셀이 명명된 범위의 일부인 경우에는 작동하지 않습니다. 셀에 대한 여러 이름을 표시하지 않습니다. 명명된 공식에 포함된 셀에 대해서도 작동하지 않습니다(예:=OFFSET()
범위(예: ).
그
"=" & cel.Parent.Name & "!" & cel.Address
그것도 꽤나 투박합니다.더 나은 방법으로 검사할 수 있습니다.ReferReferTo에서 Range 객체를 만들고 Intersect()를 사용하면 작동할 수 있습니다.
Excel에는 특정 속성을 얻을 수 있는 "Cell()" 기능이 있습니다.
=Cell("행", K9)을 사용하여 9번 행을 반환할 수 있으며 동일한 "col" 매개 변수가 있지만 문자가 아닌 열 번호(11)를 반환합니다.
다른 셀(이 경우에는 E12)에서 명명된 셀을 참조한 다음 다음 공식을 사용합니다. ="&FORMulateXT(E12).이렇게 하면 이름이나 공식이 텍스트로 표시되도록 아포스트로피가 앞에 배치됩니다.
빈 셀에 커서를 놓고 =를 입력한 다음 명명된 셀을 클릭할 수 있습니다.그러면 셀 내용이 표시됩니다.그런 다음 셀의 형식을 텍스트로 변경하면 =가 표시됩니다.
언급URL : https://stackoverflow.com/questions/733123/retrieving-cell-name-in-excel
'programing' 카테고리의 다른 글
iOS에 대한 이벤트 처리 - 테스트:withEvent:와 pointInside:withEvent:는 관련이 있습니까? (0) | 2023.06.15 |
---|---|
Excel 2010에서 VBA 코드를 사용하여 웹 서비스 호출 (0) | 2023.06.15 |
Apache POI를 사용한 Excel 드롭다운 목록 (0) | 2023.06.10 |
파이썬, 유니코드 및 윈도우즈 콘솔 (0) | 2023.06.10 |
왜 R의 ifelse 문은 벡터를 반환할 수 없습니까? (0) | 2023.06.10 |