본문 바로가기

728x90

매크로

(14)
구글 앱 스크립트, 간단한 더하기 빼기 구현, 스크립트 할당 버튼 만들기(사칙연산) 구글 앱 스크립트를 이용하면 많은 일들을 쉽게 할 수 있지만 특히, 단순 반복적인 업무를 쉽게 할 수 있습니다. 아래는 가장 간단한 형태의 스크립트 작성 예 입니다. 간단한 사칙연산 매크로 버튼을 클릭하면, 범위(C1:C2)의 숫자가 증감 되는 매크로입니다. ​ [ 매크로 작성하기 ] var sheet=SpreadsheetApp.getActive().getActiveSheet(); var getRng=sheet.getRange('C1:C2'); function plusOne(){ getRng.setValue(getRng.getValue() + 1); } function minusOne(){ getRng.setValue(getRng.getValue() - 1); } 1. 메뉴에서 도구 > 스크립트 편집기로..
엑셀 셀에 있는 문장 단어로 여러 셀에 나누기, 여러 셀에 있는 단어들 한 셀에 문장으로 합치기(문자열 나누기, 합치기) 엑셀을 사용하다 보면 셀에 있는 문자열을 나누거나 합치는 것이 필요 할 때가 있습니다. 그 때 사용 할 수 있는 매크로로 txtSplit 과 txtJoin 라고 명명한 함수를 소개하겠습니다. ​간만에 윤동주 님의 아름다운 시, 윤동주님의 서시를 감상해보겠습니다! 문장을 단어로 나누기 '서시' 한 문장이 각 셀마다 아래와 같이 들어 있다고 하면, txtSplit 함수를 실행하면 문장을 공백(스페이스)로 구분하여 각각의 셀에 입력 됩니다. [사용법] 셀 선택 후 txtSplit 매크로 실행 Sub txtSplit() ' 문자열을 공백(Space)로 분할. ' 선택한(액티브 된) 셀. Dim strings As Variant ' 문자열을 배열로 지정 Dim c As Integer ' 문자열의 카운터 '빈셀이 ..
엑셀 문자열을 공백, 콤마, 따옴표로 분할하는 매크로(문자열 분할, 콤마, 스페이스, 따옴표) 엑셀로 작업을 하다보면 셀에 있는 문자열을 구분해서 분리 해야 할 때가 있습니다. 보통 공백이나, 콤마, 따옴표 등의 문자로 구분된 문자열을 각각의 셀로 이동시켜 작업해야 하는 경우 유용한 매크로 입니다. 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 ce..
엑셀 현재 작업 워크시트 파일에 다른 파일의 시트들을 불러와 합치는 매크로 함수(시트 불러오기, 시트 머지, 시트 병합, 시트 합치기) 엑셀로 작업 할 때 다른 파일의 시트들을 불러와 합쳐서 작업해야 할 때 시트를 복사 / 이동하는 방법과 한꺼번에 파일 전체 시트를 불러와 합쳐주는 매크로 함수 입니다. 복사 해야 할 시트가 많지 않은 경우 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..
특정 파일과 비교, 혹은 시트 끼리 비교 삭제 매크로 파일의 특정 시트를 비교하여 참조하는 시트에 없는 타겟 시트의 열을 전부 삭제해줍니다. 시트 비교 삭제 매크로는 동일한 파일내에서 시트 둘을 비교하여 참조 시트에 없는 타겟 시트의 열을 전부 삭제해줍니다.​한 번 지우면 복구하기가 복잡 할 수 있으니, 꼭 백업 파일을 생성해둔 다음 작업하시고, 첨부로 예제 파일 넣었습니다. 첨부파일 'compareAndDelete'파일에서 바로 작업할 수 있게 하였고, 시트 비교로 삭제하는 매크로도 같이 넣었습니다.   Sub CompareAndDel() Dim i, j, k As Integer Dim wb1 As Workbook, wb2 As Workbook Dim ws1 As Worksheet, ws2 As Worksheet '비교할 원본 파일 ..

728x90
반응형