IT 인터넷 및 프로그램.../MS Office

[엑셀 매크로 실무 예제] 자동 채우기, 파일 이름 가져오기

KWhole30 2023. 12. 16. 05:44

이번에 소개할 엑셀 매크로는 파일이름 가져와서 가공하는 방법과, 자동완성 기능에 관한 것입니다.

 

 1  자동 채우기 매크로

Range("C1").Select ActiveCell.FormulaR1C1 = "1"
Range("C2").Select ActiveCell.FormulaR1C1 = "1"
Range("C1:C2").Select
Selection.AutoFill Destination:=Range("C1:C" & Cells(Rows.Count, "D").End(xlUp).Row)

 

예제 1

 

 

예제 1과 같이 C1에 값 1, C2에 값 2를 입력 후 D열의 끝까지(D15) 자동 채우기를 하는 매크로입니다.

경우에 따라 다양한 값들을 대입할 수 있을 겁니다.

 

 

 동작 순서 

1. Range("C1").Select ActiveCell.FormulaR1C1 = "1" : C1에 값 1 입력
2. Range("C2").Select ActiveCell.FormulaR1C1 = "1" : C2에 값 1 입력
3. Range("C1:C2").Select : C1에서 C2까지 선택 (그림 예제 1)
4. Selection.AutoFill Destination:=Range("C1:C" & Cells(Rows.Count, "D").End(xlUp).Row) : 자동 채우기 시작은 C1, 끝은 D열의 마지막 값까지.

End(xlUP) : D열의 제일 밑에서 시작해서 값이 있는 D열의 값을 구합니다. (왜 밑에서 올라올까요? 위에서 내려가면 될 텐데....) 요근 다음에 설명할 기회가 있으면 한번 포스팅해보는 걸로... 하시죠.

 

 

 

 2  파일 이름 가져와 편집하는 매크로

Range("H1").Select
ActiveCell.Formula2R1C1 = _ "=MID(CELL(""FILENAME""),FIND(""["",CELL(""FILENAME""),1)+1,(FIND(""차"",CELL(""FILENAME""),1)-FIND(""["",CELL(""FILENAME""),1)))"

 

예제 2

 

H1의 위치에 파일경로와 파일이름을 가져온 후 편집하여 원하는 값만 가져오도록 하였습니다.

 

매크로에 사용한 =CELL("filename")을 이용 불러온 결과는 아래와 같습니다.

C:\Users\qcpar\OneDrive\Desktop\kYLE PARK\PRE ALEAT\121423\[12142023 1 1325.xls]Delivery_NK_PTS1_1_202312150727

 

 

FIND(""["" ~~: [ 위치 값과 FIND(""차"" ~~ : 의 위치를 값을 얻은 후 MID 함수를 이용 [ +1의 값 1에서 까지 의 값 "12142023 1차"를 H1에 입력합니다.

어렵지 않죠? 이해가 잘 안 되시면 그냥 COPY 하신 후 편집해서 사용하시면 됩니다.

매크로 실무예제

 

공감댓글은 글쓴이에게 많은 힘이 됩니다.