PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2012/05/14 01:38:32
Name 김승남
File #1 엑셀.jpg (0 Byte), Download : 3
Subject 엑셀 매크로 질문(부탁)입니다.


저한테는 굉장히 어려운 문제인데, 혹시나 엑셀 매크로를 잘 다루시는 분들은 쉽게 처리할 수 있지 않을까 싶어서 질문 남깁니다.

첨부한 그림과 같은 엑셀 파일이 있습니다.
이 파일을 TXT 파일로 저장되게 하는 매크로를 만들고 싶습니다.

그런데 이때 엑셀 형태를 txt 파일로 저장할때 흔히쓰는 방법인 '탭으로 구분하는 형태'로  저장이 되면 안됩니다.

그렇다고 공백이 일정하게 해서 저장해도 안됩니다. 각 셀에 들어가 있는 숫자들의 자릿수가 다르기 때문입니다.

제가 원하는 건, 각 변수별로 최대자릿수를 정의해주고, 셀에 현재 포함되어 있는 숫자의 자리수를 제외한 나머지는 빈칸(공백)으로 남게 하는 것입니다. 그리고 셀에 현재 포함되어 있는 숫자는 우측 정렬이 되어야 합니다.

즉, 첨부한 그림을 예로 들면,

A열을 2자리, B열은 10자리, C열은 3자리로 정의합니다(나머지는 생략).
그리고 결과물이 다음과 같이 정리되었으면 좋겠습니다. (언더바 표시는 공백을 의미합니다. 실제 결과물에서는 언더바가가 아닌 공백이어야 합니다.)

_4____110154__8
_5____110155_24
_6____110156_46
_7____110157_19
_8____110158__4
_9____110159_15
10____110160__9
....

혹시 위의 형태로 매크로를 짜려면 어떻게 해야하는지 아시는 분이 있으면 조언 부탁드립니다.

추가로 위와 동일하게 한 상태에서 C열의 모든 숫자의 마지막 자리 뒤에 콤마를 붙이게하려면 어떻게 해야하는지도 질문드립니다.

즉,, 아래와 같은 형태입니다.

_4____110154__8,
_5____110155_24,
_6____110156_46,
_7____110157_19,
_8____110158__4,
_9____110159_15,
10____110160__9,
....


월요일이 오고 있어서 이 글을 읽어주실 분들이 얼마나 될지는 모르겠지만,,

혹시라도 계실 능력자분들에게 미리 감사드립니다.


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Rorschach
12/05/14 02:51
수정 아이콘
Sub test()

Open "e:\test.txt" For Output As #1
For i = 1 To 10
Print #1, Right(" " & Cells(i, 1), 3) & Right(" " & Cells(i, 2), 10) & Right(" " & Cells(i, 3), 3)
Next
Close #1

End Sub

간단한 방법으로는 이 정도로 하시면 됩니다.
설명을 간략히 추가하자면

Sub test()

Open "e:\test.txt" For Output As #1 <- 그냥 파일을 여는 부분이고요.

For i = 1 To 10
Print #1, Right(" " & Cells(i, 1), 3) & Right(" " & Cells(i, 2), 10) & Right(" " & Cells(i, 3), 3) <- 이 부분만 잘 하면 되는데
세칸의 공백인 " "와 Cells(i,1)을 '&'로 묶으면 Cells(i,1)의 값 앞에 공백 세 개가 붙은 문자열이 됩니다.
즉, 만약 (i,1)번째 셀의 값이 3이라면 " 3"이 되죠.
Right 함수는 특정 문자열을 오른쪽에서부터 원하는 만큼 잘라주는 함수입니다.
Right(str, num) 형식이며 예를들어 Right("abcde", 3)이면 결과는 "cde"가 됩니다.
간단하게 원하는 만큼의 공백이 앞에 붙는 문자열을 만들 수 있습니다.
Next

Close #1 <- 여긴 파일 닫기.

End Sub


줄이 너무 길어진다면 For 구문을 이중으로 해서 행 마다 들어갈 텍스트를 먼저 만들고 기록해도 되는데
열마다 문자열 길이가 달라서 if문을 조금 더 섞어줘야겠네요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
134535 대구구장에 갈려고 합니다. [4] 화이트데이1544 12/05/14 1544
134534 [엘오엘]탑 질문 드릴께요. [2] 요우1818 12/05/14 1818
134533 lte는 아직 유플이 진리인가요?? [6] 빵꾸탱구1861 12/05/14 1861
134532 아이폰3gs에서 갤노트로 넘어왔습니다. 정보 좀 공유 부탁드려요. [1] 자제해주세요1901 12/05/14 1901
134530 [ lol질문 ] 미드 피즈를 잘 고르지 않는 이유는?? [11] 임금2837 12/05/14 2837
134529 성년의 날에 인기있는 여자 향수는 뭐죠? [7] Love&Hate2125 12/05/14 2125
134528 [연애] 여자친구가 자기 외의 여자와의 친분을 싫어할경우? [9] 낭만토스2136 12/05/14 2136
134524 엑셀 매크로 질문(부탁)입니다. [1] 김승남1650 12/05/14 1650
134523 이미지투플레이의 원리...대체 무엇인가요? [3] 블루베리2100 12/05/14 2100
134522 11번가에서 디아블로3 한정판 구매질문이요 ㅜㅜ [1] Langrriser2106 12/05/14 2106
134520 스마트폰 구매시 "이정도면 잘샀다" 기준이나 해당사이트 주소좀 부탁 드릴 수 있을까요 [5] egg0001597 12/05/14 1597
134519 11번가 디아블로3 예약 구매자분들 모챠렐라1839 12/05/14 1839
134518 디아블로 3 구매에 관한 질문입니다.. [1] 스타1541 12/05/14 1541
134517 카오스온라인의 라인 개념도 LOL과 동일한가요? [6] wjj2334 12/05/14 2334
134516 스타 인공지능 모드 중에 zbath 모드 이기는 방법 아시는 분계세요? 커널패닉2174 12/05/14 2174
134515 중국에서 오래 지내보신 분들게요. 중국에서 서민들이 먹는 음식에 관해서 질문드립니다. [7] 삭제됨2113 12/05/13 2113
134514 입술 안쪽에 가시가 박혔는데 어떻게 해야하죠? [4] HarukaItoh2542 12/05/13 2542
134513 광주에서 서울 비행기타보신분? [3] 올빼미2542 12/05/13 2542
134512 디아3 한정판을 사면 디아2도 주는건가요? [2] 블루팅2193 12/05/13 2193
134511 디아3 일반판구매와 디지털구매 차이가 뭔가요? [6] ds09042666 12/05/13 2666
134510 갑작스런 두통에 관해서... [2] TheNeverEnders1813 12/05/13 1813
134509 자취방을 옮기고 싶습니다 [6] 자판1972 12/05/13 1972
134508 DC에선 어벤져스같은 영화안만든나요? [5] 아레스2258 12/05/13 2258
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로