본문 바로가기

분류 전체보기

(28)
엑셀 시트 이름 한꺼번에 바꾸기 매크로(VBA 일괄 변경) 엑셀 작업 중 많은 시트 이름을 한번에 바꿀 필요가 있을 때 사용하는 매크로입니다. 메인 시트를 제외하고는 이름을 전부 바꿔 줍니다. (매크로, 첨부파일 참조) 아래 매크로에 대한 설명을 참조하시면, 전체 시트의 이름을 바꿀 수도 있고, 시트 이름도, 자신이 원하는 형태로 바꿀 수 있습니다. 예제에서는 변경할 이름으로 몇 월 인지를 입력하면, 날짜를 더해주는 방법으로 바꿔줍니다. (시트의 숫자가 27개 혹은 30개 이내일 경우) For i = 1 To Application.Sheets.Count '첫번째 시트부터 선택 Application.Sheets(i).Name = newName & i '입력받은 이름에다 i(1부터)값을 더해 새이름 지정 Next 아래는 개발도구 메뉴 보이기 & 매크로 실행 버튼 만..
엑셀 문자열을 공백, 콤마, 따옴표로 분할하는 매크로(문자열 분할, 콤마, 스페이스, 따옴표) 엑셀로 작업을 하다보면 셀에 있는 문자열을 구분해서 분리 해야 할 때가 있습니다. 보통 공백이나, 콤마, 따옴표 등의 문자로 구분된 문자열을 각각의 셀로 이동시켜 작업해야 하는 경우 유용한 매크로 입니다. Sub SplitColumnData() Dim LastPopulatedRow As Long, MyString As String Dim StringPart() As String, ColIndex As Long Dim MinArrSubscript As Integer, MaxArrSubscript As Integer LastPopulatedRow = Cells(Rows.Count, 1).End(xlUp).Row 'Loop through each populated cell in column A행의 처음부터 끝..
근무일자 자동 계산 수식 (토요일, 일요일, 공휴일) 휴무 포함 계산 가능 네이버지식iN에 주말과 휴일을 고려해서 일하는 날짜를 구하는 방법을 묻는 질문이 올라 왔길레, 인테넷을 열심히 서핑하여 정말 딱 맞는 함수와 매크로를 찾아 수정해서 올리려고, 하는 순간... 아뿔싸, 왠 고수들이 그리 많은지 벌써 3개나 글이 달려 있는지라, 답글을 다는 것은 그만두고, 내용을 정리해서 이곳에 정리해둡니다. 엑셀의 내부 함수를 이용하는 것인데요, 아주 깔끔하고 간단하게 수식 한 줄이면 해결 됩니다. =NETWORKDAYS.INTL(StartDate, EndDate, [Weekend], [Holidays]) ▶실제 사용 함수 =NETWORKDAYS.INTL(B2, C2, 17, $G$2:$G$17 ) 시작일, 완료일, 숫자(17), 공휴일 : 시작일과 완료일 사이의 날과 토요일(17)이 작..
엑셀 시트 한번에 여러개 신규, 복사 해서 만드는 매크로( 신규 생성, 복사 생성) 엑셀로 작업을 하다보면 한번에 많은 시트를 새로 만들거나, 기존 시트를 여러개 복사해야 할 때가 있습니다. 그 때 사용하는 매크로입니다. ​첫번째는 새로 여러개의 시트를 한 번에 생성하는 매크로 1. 생성할 시트 이름을 미리 아래와 같이 입력 한 다음,2. 시트 일괄 생성을 클릭하여, 입력해 둔 셀들을 선택한 다음 확인을 클릭하면 새로운 시트가 일괄 생성 됩니다. Sub CreateSheets() Dim rng As Range Dim cell As Range Dim str As String On Error GoTo Errorhandling '선택 박스 Set rng = Application.InputBox(Prompt:="시트 생성을 위한 레인지를 선택해주세요~!:", _ Title:="Create sh..
엑셀 현재 작업 워크시트 파일에 다른 파일의 시트들을 불러와 합치는 매크로 함수(시트 불러오기, 시트 머지, 시트 병합, 시트 합치기) 엑셀로 작업 할 때 다른 파일의 시트들을 불러와 합쳐서 작업해야 할 때 시트를 복사 / 이동하는 방법과 한꺼번에 파일 전체 시트를 불러와 합쳐주는 매크로 함수 입니다. 복사 해야 할 시트가 많지 않은 경우 1. 이동 / 복사 할 대상 엑셀 파일을 열어 둔 다음 아래와 같이 시트 탭에서 우측 버튼을 누르고, 2. 이동 / 복사 메뉴에서 현재 시트들을 이동 시킬 대상 파일을 선택 한 다음, ​ 3. 시트 들이 복사 / 이동 했을 때의 위치를 정해준 후 복사본 만들기를 체크 해 주고 확인 버튼을 누르면 선택한 엑셀 파일로 선택 한 시트 들이 복사됩니다. 복사 해야 할 시트가 많을 때 시트가 많아 일일이 복사하기가 번거로울 때 한번에 시트들을 불러와 합쳐주는 매크로 함수입니다.(시트 병합, 시트 머지) ​[ 매..
엑셀 에서 현재 열을 맨 마지막 열에 복사 하는 매크로 엑셀 작업중, 반복적으로 열을 복사 해서 사용할 때 유용한 함수로, 현재 열을 시트의 비어 있는 마지막 열로 복사해줍니다. Sub copyToLastRow() Application.ScreenUpdating = False Dim copySheet As Worksheet '시트가 다를 경우 예비 'Dim pasteSheet As Worksheet '작업하는 시트 이름 Set copySheet = Worksheets("Sheet1") '작업하는 시트 이름 'Set pasteSheet = Worksheets("Sheet2") Range("A" & Selection.Row & ":AG" & Selection.Row).Select Selection.Copy 'copySheet.Range("A" & Selectio..
엑셀 전체 글에서 특정 단어, 글자, 숫자를 한 번에 바꾸고, 지우는 방법 엑셀 작업중 시트에 있는 셀 값들 중 특정 값을 한 번에 바꾸거나 지우고 싶을 때가 있습니다. 예를 들어 KRW를 USD로 바꾸고 싶다면, 아래 바꾸기에서 KRW/USD로 바꾸면 됩니다. 바꾸는 것이 아니고, 특정 문자열을 지우고 싶다면, 컨트롤 + H를 눌러 바꾸기를 실행해서 KRW를 아무것도 없는 것으로 모두 바꾸기 실행하면 됩니다.
주민번호에서 생년월일을 추출 할 때 유용한 엑셀 함수 두 가지 엑셀로 문서작성( 재직증명서, 퇴직증명서, 경력증명서 등의 서류를 작성하는 등의 작업을 하다 보면 주민번호에 있는 앞자리 6자리를 불러와 생년월일로 바꿔줄 필요가 있습니다. 그럴 때 필요한 함수식입니다. 1. 'A1'에 주민번호가 있고 'B1'에 생년월일을 표시하고 싶다면 함수는 아래와 같습니다. 아래 함수를 천천히 살펴보면, = DATE(IF(OR(MID(A1,1,2)="3"),"20","19") & MID(A1,1,2), MID(A1,3,2), MID(A1,5,2)) 2. 주민번호를 생년월일로 바꾸기 위해서는 앞에 6자리 숫자가 필요합니다. 예제에서 보면 "201217" 중에서 MID 함수로 먼저 두자리를 20과 비교하여 20보다 크거나 작고, 뒷자리의 첫째자리 수가 3보다 크거나 같으면 2000년대..

반응형