IT 인터넷 및 프로그램.../엑셀 실무 예제

[엑셀 매크로 실무 예제] 원하는 형식으로 파일이름 만들기

KWhole30 2023. 12. 16. 06:03

오늘 작업할 data 파일에서 원하는 부분만 가져온 후 새로운 파일을 만들어 붙여 넣기 하는 매크로 예제입니다.

 

 

 1  새로운 파일 만들기 매크로

오늘 작업할 파일이 없으면 새롭게 만들고, 있다면 그 파일을 불러옵니다.

Sub MAKEFILE()
F_name = Format(Date, "MM/DD") & "작업" 
If Len(Dir(ThisWorkbook.Path & "\" & F_name & ".xlsx")) Then
Application.Workbooks.Open FileName:=ThisWorkbook.Path & "\" & F_name & ".xlsx"
Else
Workbooks.Add 
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "\" & F_name & ".xlsx"
End Sub

 


1. F_name = Format(Date, "MM/DD") & "작업"  : F_name의 변수에 오늘날짜 + 작업이라는 이름을 대입합니다. 
2. If Len(Dir(ThisWorkbook.Path & "\" & F_name & ".xlsx")) Then : F_name이 있다면 Then 다음 실행
3. Application.Workbooks.Open FileName:=ThisWorkbook.Path & "\" & F_name & ".xlsx" : F_name 파일을 OPEN 합니다.
4. Else : IF값이 참일 경우 끝
5. Workbooks.Add : IF값이 거짓일 경우 (F_name이 없을 경우) 새로운 파일 Workbook을 만듭니다.
6. ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "\" & F_name & ".xlsx" : 파일을 저장합니다.

 

만들어진 결괏값은 "12-15 작업. xlsx"와 같은 형식이 됩니다.

 

 

 

 

 2  data 값 붙여 넣기

Sub CopyPaste()
'Windows(F_name & ".xlsx").Activate
Range("A1").Select
If ActiveCell = "" Then ActiveSheet.Paste
Else
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End If
End Sub

 

파일을 만드는 매크로 바로 뒤에 붙여사용 하는 매크로 CopyPaste입니다.

 

1. Range("A1").Select : 셀 A1을 선택합니다.
2. If ActiveCell = "" Then ActiveSheet.Paste : A1의 값이 비어있으면 Copy 한 값을 A1에 붙여 넣기 합니다.
3. Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select : A1에 값이 있으면 A1 값의 마지막으로 이동한 후 한 칸 내려간 후 "Offset(1,0)"
4. ActiveSheet.Paste : 붙여 넣기 합니다.

 

파일 이름 가져오기 매크로와 혼합하여 사용하면 여러 data 파일을 하나의 파일로 통합하는데 아주 유용합니다.

 

 

 

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

이번에 소개할 엑셀 매크로는 파일이름 가져와서 가공하는 방법과, 자동완성 기능에 관한 것입니다. 1 자동 채우기 매크로 Range("C1").Select ActiveCell.FormulaR1C1 = "1" Range("C2").Select ActiveCell.FormulaR1C1 = "

aggibba.tistory.com

 

 

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