-
[VBA] 영역을 csv로 저장하기코딩/vba 2023. 3. 31. 14:58728x90
영역을 CSV로 저장하기
방법 1
- 영역을 복사
- 새로운 워크북 열기(workbooks.open(파일이름))
- 영역 붙여넣기
- 새로 저장(csv)
위 절차로 하니 ',' 없이 저장되어 열 구분이 안됐다.
다시 수정하여,방법 2
- 영역 복사
- 새로운 워크북 열기(workbooks.open(파일이름))
- 영역 선택(복사 영역과 같은 크기)
- 영역 붙여넣기
- 새로 저장(csv)
아예 저장이 되지 않는다.
csv 파일에 아무것도 없다.
디버그 모드로 하나씩 검증을 해봐도 4까지는 정상적으로 붙여넣는게 보인다.
하지만 열어보면 아무것도 없다.
귀신이 장난을 쳤나, 아니면 맥이라서 맥이는건가?방법 3
- 영역 복사
- 새로운 워크북 추가(workbooks.add)
- 영역 붙여넣기
- 새로 저장(csv)
방법 3이 제대로 작동된다.
결론은 새로운 워크시트를 'open'이 아닌 'add'로 작업해야 정상적인 작업이 된다는 것이다.' 영역 복사 myRange.Copy ' 워크북 추가 Set wb = Workbooks.Add ' 내용만 붙여넣기 Cells.PasteSpecial (xlPasteValues) ' UTF8 형식으로 csv를 저장하고 닫기 wb.SaveAs path & fName & ".csv", FileFormat:=xlCSVUTF8 wb.Close
728x90'코딩 > vba' 카테고리의 다른 글
VBA/.Value와 .Formula의 차이 (1) 2023.12.21 [VBA/Set 키워드] 개체 참조 Set 키워드 (0) 2023.06.06 [VBA/Array] Not Not Array 로 배열원소 확인하기 (0) 2023.04.01 [VBA/Tip] Array 사용 시 Lbound() 문제 (0) 2023.03.27 [VBA/Tip] Range().Value 와 For...Next loop의 효율성, 속도 비교 - ChatGPT의 거짓말 (0) 2023.03.27