온라인으로 찾은 쿼리 방법을 사용하여 파이프 구분 텍스트 파일을 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':
응용 프로그램 정의 또는 개체 정의 오류입니다.
도움이 될 것입니다.
아마도 워크 시트 수준의 이름 일 수 있습니다. 'ActiveSheet.Names ("_ 11r_3_Eastdata_FrankLaRoccaMonths_c_4")를 시도하십시오. 삭제 ' –
감사합니다! 그것은 일하는 것처럼 보였다! – guitarlover1000
@DougGlancy 이미 질문을 편집하고 해결책을 제공해 주셔서 감사합니다. 그걸 부탁하는 대답으로 요구하겠습니까? – pnuts