2012-06-06 5 views
1

온라인으로 찾은 쿼리 방법을 사용하여 파이프 구분 텍스트 파일을 Excel 스프레드 시트로 가져옵니다. 이 코드는 아름답고 빠르게 작동하지만, 실행할 때마다 이상한 명명 된 범위를 만듭니다. 문제는 VBA를 사용하여 범위를 삭제하는 유효한 방법을 찾지 못하는 것입니다. 이름 관리자 만 사용하여 삭제할 수 있습니다. 나는 그것을 삭제하려고 방법은 다음과 _11r_3_Eastdata_FrankLaRoccaMonths_c_4Excel 2010 VBA는 구분 된 텍스트 데이터를 가져올 때 이상한 명명 된 데이터 범위를 만듭니다.

됩니다 : 여기

Function doFileQuery(fileName As String, outSheet As String) As Boolean 

    Dim rootDir As String 

    rootDir = "W:\Development" 

    Dim connectionName As String 

    connectionName = "TEXT;" + rootDir + "\" + fileName 

    With Worksheets(outSheet).QueryTables.Add(Connection:=connectionName, Destination:=Worksheets(outSheet).Range("A5")) 

     .Name = fileName 
     .FieldNames = True 
     .RowNumbers = False 
     .FillAdjacentFormulas = False 
     .PreserveFormatting = True 
     .RefreshOnFileOpen = False 
     .RefreshStyle = xlOverwriteCells 
     .SavePassword = False 
     .SaveData = True 
     .AdjustColumnWidth = True 
     .RefreshPeriod = 0 
     .TextFilePromptOnRefresh = False 
     .TextFilePlatform = 437 
     .TextFileStartRow = 1 
     .TextFileParseType = xlDelimited 
     .TextFileTextQualifier = xlTextQualifierDoubleQuote 
     .TextFileConsecutiveDelimiter = False 
     .TextFileTabDelimiter = False 
     .TextFileSemicolonDelimiter = False 
     .TextFileCommaDelimiter = False 
     .TextFileSpaceDelimiter = False 
     .TextFileOtherDelimiter = "|" 
     .Refresh BackgroundQuery:=False 

    End With 
    doFileQuery = True 
End Function 

만든 이상한 명명 된 범위입니다 : 여기 내 코드입니다. ThisWorkbook.Names를 ("_ 11r_3_Eastdata_FrankLaRoccaMonths_c_4") 삭제

VB에서 위의 문이 나올 때

런타임 오류 '1004':

응용 프로그램 정의 또는 개체 정의 오류입니다.

도움이 될 것입니다.

+2

아마도 워크 시트 수준의 이름 일 수 있습니다. 'ActiveSheet.Names ("_ 11r_3_Eastdata_FrankLaRoccaMonths_c_4")를 시도하십시오. 삭제 ' –

+0

감사합니다! 그것은 일하는 것처럼 보였다! – guitarlover1000

+0

@DougGlancy 이미 질문을 편집하고 해결책을 제공해 주셔서 감사합니다. 그걸 부탁하는 대답으로 요구하겠습니까? – pnuts

답변

2

아마도 워크 시트 수준의 이름 일 수 있습니다. 시도해보십시오 :

ActiveSheet.Names("_11r_3_Eastdata_FrankLaRoccaMonths_c_4").Delete

관련 문제