2016-07-26 3 views
1

스프레드 시트 ADA를 준수하도록 범위 이름을 추가하려고합니다. 나는 아래 코드를 시도했다;엑셀 vba, ADA 준수 범위 이름 추가

ActiveWorkbook.Names.Add Name:="On_Draft_List_D", RefersToR1C1:=("Sheet1!R1C1:R" & LastRow - 35 & "C1") 
    ActiveWorkbook.Names("On_Draft_List_D").Comment = "" 

항목 관리자는 이름 관리자에 나타나지만 스프레드 시트의 이름 상자에는 표시되지 않습니다. 나는 나의 인터넷 수색에 실패하고 누군가가 올바른 방향으로 나를 가르 킬 수 있기를 바랬다. 네가 나에게 줄 수있는 도움에 감사한다.

+0

셀 이름이있는 드롭 다운 메뉴에는 나타나지 않는다는 내용입니다. ? – Rabbitman14

+0

RefersToR1C1이 올바른 범위를 참조하는지 확인하십시오. – vanathaiyan

답변

1

귀하의 R1C1 참조가 유효하지 않기 때문에 이것이 나타나지 않는 것으로 보입니다. 나는 당신의 코드를 테스트했고 같은 문제가 있었다. 다음과 같이 범위를 명시 적으로 설정하십시오.

Dim cell As Range 
Set cell = Range("A1:B3") 
ActiveWorkbook.Names.Add Name:="On_Draft_List_D", RefersTo:=cell 
ActiveWorkbook.Names("On_Draft_List_D").Comment = "" 

이 훨씬 효과적입니다. RefersTo 인수를 사용하는 것이 더 쉽고 .Add 호출 범위를 벗어난 범위를 설정하면 올바른 범위를 훨씬 쉽게 선택할 수 있습니다.

+0

같은 코드가 다른 길이의 여러 워크 시트에서 실행되기 때문에 R1C1 참조를 설정했습니다. 각 시트의 맨 아래에는 각자의 범위 이름을 가진 각주가 있습니다. 그래서 LastRow - 35를 사용했습니다. 당신이 제안하고 다시 돌아올 때 범위를 변수로 설정해보십시오. – rstuart931

+0

당신은 여전히 ​​LastRow-35 부분을 사용할 수 있으며 단지 "A1 : C"& (LastRow-35)'와 같은 일을하면 "A", "C"및 "1"을 변경하여 원하는 범위를 얻을 수 있습니다. 필요에 따라 – Rabbitman14

+0

위대한 일했습니다! 고마워, 정말 고마워! – rstuart931