오늘 작업할 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 파일을 하나의 파일로 통합하는데 아주 유용합니다.
공감과 댓글은 글쓴이에게 많은 힘이 됩니다.
'IT 인터넷 및 프로그램... > 엑셀 실무 예제' 카테고리의 다른 글
[엑셀 실무 예제] 알고 있으면 편리한 셀 서식 (1) | 2023.12.19 |
---|---|
[엑셀 실무 예제] 조건부 서식 이용 중복 값 찾는 방법 (2) | 2023.12.17 |
[엑셀 매크로 실무 예제] 자동 채우기, 파일 이름 가져오기 (0) | 2023.12.16 |
[엑셀 실무 예제] 입력된 날짜와 시간 기록하기 (0) | 2023.12.16 |
[엑셀 실무 예제] Source에 있는 값 찾기 (VLOOKUP, IF, AND) (0) | 2023.12.15 |