2012-11-01 3 views
1

동적으로 생성되는 Excel 시트의 범위를 지정하고 싶습니다. 나는 다음을 시도했지만 작동하지 않습니다.VB.NET을 사용하여 동적으로 생성 된 Excel 시트의 범위 이름을 지정하십시오.

With oWB 
    For intCount = 1 To wbnum1 
    .Worksheets.Add(After:=.Worksheets(intCount + 1)) 
    .Sheets(intCount + 1).Name = "Sheet" & intCount.ToString() 
    .Sheets(intCount + 1).Cells(19, 2).value = "Sheet" & intCount.ToString 
    .Sheets(intCount+1).Range("A1:Z1") 
    .Range.Name = "Numbers" 
    Next 

무엇이 잘못 되었나요?

감사합니다.

+0

시도 - 중복 된 이름을 수, 각각 고유 한 이름
이 있어야합니다'.Sheets (intCount + 1) .Range ("A1 : Z1") 이름 = "숫자를. " ' –

답변

1

범위를 지정하지 않았습니다.

아마, 당신은 당신의 마지막과 초 마지막 줄에 병합해야합니다 나타나는 실험에서,

.Sheets(intCount+1).Range("A1:Z1").Name = "Numbers" 

그러나 그이 방법은 마지막 할당 결과 통합 문서 수준 이름은 후 유효한 것으로 만들고 이름을 할당 워크 시트를 반복하십시오. 숫자
시작 -
:

.Sheets(intCount+1).Names.Add "Numbers", .Sheets(intCount+1).Range("A1:Z1") 
+0

정말 고마워. 그것은 효과가 있었다. – mrn

1
Dim uniqueName as String = "A_NamedRangeName_" & i 
Dim rnArea as Range = .ActiveSheet.Range(leftCol & startRow, rightCol & endRow) 
Name name = .ActiveBook.Names.Add(uniqueName, rnArea) 

이름 범위 이름은 없습니다 :이 작업을 수행하는

대체/안전한 방법은 워크 시트의 이름 컬렉션을 통해 워크 시트 특정 이름으로 이름을 추가하는 것입니다 - 포함, :; 문자
- 수 예약 된 엑셀 함수 이름

+0

정말 고마워요. – mrn

관련 문제