2012-09-27 4 views
2

Excel을 사용하여 .txt 파일 (메모장 파일)을 열 때 워크 시트 이름은 기본적으로 열리는 메모장 파일의 파일 이름입니다. 따라서 다른 메모장 파일을 열 때 시트 이름이 달라집니다. 다운 스트림 코드에는이 워크 시트 이름이 고정 된 이름이어야합니다. 어쨌든 "sheet1"과 같은 고정 된 이름으로 시트 이름을 변경해야합니까? 그런데 코드 파일은 열려있는 파일의 데이터를 사용하는 매크로가 다른 통합 문서가 아니므로 사용할 수 없습니다.어려운 워크 시트 이름 변경

감사합니다.

답변

8

Excel에서 .txt 파일을 열 때 워크 시트 이름이 아닌 코드 이름이 필요하지 않습니다. 항상 1 장이 있습니다. 그래서 코드에서 당신은 항상 wb 통합 문서 객체입니다

wb.Sheets(1) 

로 그 시트를 해결할 수 있습니다.

참고로 VBA에서 열 때마다 .txt 파일은 코드를 통해 설정하지 않는 한 일반 이름을 가질 수 없습니다. 당신이 할 경우, 당신은 여전히 ​​당신이 당신의 텍스트 파일 sheet1.txt 부를 수있는 예를

wb.Sheets(1).Name = "Blah Blah" 
1

를 들어 wb.Sheets(1)

을 사용해야합니다? 그게 당신 문제를 해결할 수 있을까요?

+0

나는 이것이 매우 실용적인 생각이라고 생각하지 않습니다. 또한 텍스트 파일이 같은 폴더에 있으면 어떻게됩니까? :) –

+0

가끔은 단지 하나의 솔루션이 필요합니다 :) –

0

Excel에서 내장 된 CSV 구문 분석을 사용하기 때문에 매크로가 텍스트 파일을 동적으로 엽니 다. 나중에 데이터 정렬 및 필터링.

Siddarth는 좋은 리드를 주었지만 그가 말한대로 다운 스트림 코드에 사용할 워크 시트 개체가 있기 때문에 이름이나 시트에 대해 걱정할 필요가 없습니다.

wb.Sheets(1) 

이제이 시트를 파일을 연 서브 루틴 외부에서 참조하려고합니다.

wb 
관련 문제