동일한 개체에 여러 함수와 속성을 적용해야 하는 경우 어떻게 해야 할까요? 일반적으로 동일한 개체를 변수로 잡아서 그 변수를 통해서 함수와 속성을 호출하겠죠. 예를 하나 들어볼까요.Dim range as Range range = Range("A1") range.Value = 5000 range.NumberFormat = "#,###" range.블라블라1 range.블라블라2 대부분의 위와 같은 방식을 많이 사용할 것입니다. 위의 코드는 Range("A1")의 속성을 변경할 때 계속 range라는 개체를 불러와야 한다는 단점이 있습니다.range와 관련된 처리를 100개를 한다면 range를 100개 적어야 합니다. 하지만 VBA에서는 하나의 개체에 여러 속성 혹은 함수를 호출할 때 유용하게 사용하는 구..
안녕하세요. 구스입니다. 오늘은 오랜만에 엑셀 VBA 매크로 프로그래밍 팁을 알려드릴까 해요. 너무 엑셀부분을 안 했더니 기존에 생각했던 것과는 다르게 다른 분야의 내용만 올라와서 본질로 돌아가보고자 합니다. 오늘 알아볼 내용은 엑셀 VBA 프로그래밍에서 오늘 날짜(언제든지 가능)과 현재 시간을 가져오는 방법에 대해서 논할 까 합니다. 보고서를 쓰거나 할 때 작성 시간에 대해서 넣어야 하는 경우가 많자 나요. 생각보다 유용한 함수들 입니다. VBA에서 오늘 날짜와, 현재 시간을 반환하는 함수는Date 함수이고, 현재 시간을 가져오는 함수는 Time 함수입니다. 오늘 날짜와 현재 시간을 받아오는 함수는 Now 함수가 있습니다. Date : 오늘 날짜를 반환하는 함수 Time : 현재 시간을 반환하는 함수 ..
지난 글에서 엑셀 매크로 프로그래밍을 통해서 로또 프로그램을 만들어 보았습니다. 하지만 로또 프로그램에 어마무시한 버그가 있었죠. 아! 그 글을 못보셨다구요. 그럼 아래의 링크를 참조하세요. 2015/10/25 - [IT Info/Excel And Macro] - 엑셀 매크로 프로그래밍 - RND 함수 이용한 로또 프로그램 이번 글에서는 위의 로또 프로그램의 버그인 중복 수를 없애는 방법에 대해서 알아볼까 합니다.중복을 없애기 위해서 Collection이라는 개념을 사용해 보았는데요. Collection(이하 콜렉션)이란 동일한 데이터 타입의 데이터를 관리하고 저장하기 위해서 사용되는 자료구조 중 하나라고 보면 됩니다.콜렉션은 다음에 시간을 가지고 추가적으로 설명을 드리도록 할께요. 콜렉션에 대해서 지금..
안녕하세요. 진지한 엑셀 매크로 프로그래밍 강좌를 진행하고 있는 구스입니다. 이번 글에서는 간단한 로또 프로그램을 VBA를 통해서 만들어 볼까 합니다. 로또 프로그램을 만드는데 가장 중요한 포인트는 랜덤수를 생성하는 것입니다. 한국 로또는 1부터 45까지의 값을 가지는 6개의 묶음을 통해서 로또의 숫자가 정해지게 되죠. 따라서 1-45까지의 랜덤수를 만드는 것이 로또 프로그램을 만드는데 가장 중요한 포인트라할 수 있겠습니다. 엑셀 매크로 프로그래밍에서 랜덤수를 만드는 함수는 RND 함수입니다. Rnd 함수는 아래와 같은 기능을 수행합니다. Single 값으로 이루어진 난수를 만드는 것이죠. 로또 프로그램은 아무런 난수만 만들면 안되겠죠. 1부터 45사이의 값만을 가진 난수를 만들어야 합니다. 특정 범위를..
배열이란 무엇일까요? 배열은 변수를 여러개 모아놓은 데이터 타입을 의미합니다. 변수는 하나의 데이터타입의 하나의 값만을 저장할 수 있는 공간이지요. 배열은 동일한 데이터 타입을 여러개 저장할 수 있는 공간이라고 보면 됩니다. 예를 들어 문자열 데이터를 3개 저장하고자 한다면 아래와 같이 변수를 사용할 수 있습니다. Dim strValue1 As String Dim strValue2 As String Dim strValue3 As String 3개정도는 저장하는데 문제가 없을것 같습니다. 하지만 저장해야 하는 데이터가 10000개라면 어떻게 될까요? 변수를 10000개 선언해야 할까요. 배열이라니, 배열이라니!! 그럼 배열을 만드는 방법을 알아볼까요. 배열을 만드는 방법 또한 Dim을 통해서 합니다. 방법..
엑셀을 사용할 때 여러개의 셀(Cell)을 하나로 병합(Merge) 하는 경우가 많습니다.이 글에서는 이러한 병합을 엑셀 매크로 프로그래밍 상에서 하는 방법에 대해서 배워볼까 합니다. 병합하는 방법은 생각보다 간단합니다. 바로 Range 개체의 Merge 함수를 이용하는 것인데요. Merge 함수 호출 이전에 Range의 매개변수에 자신이 병합을 원하는 Cell의 범위를 지정해 주면 됩니다. A1부터 A3까지 병합을 원하면 "A1:A3"를. A1부터 E5까지 병합을 원하면 "A1:E5"라는 값을 Range 개체에 전달하면되요.그럼 코드를 살펴볼까요. 코드 작성은 나를 따라하라~! 코드는 아래와 같습니다. '여러개의 셀을 Mergeg한다.Sub MergeCells() 'Cells들을 Merge하기 Rang..
이번 글에서는 엑셀 매프로 프로그래밍의 IF 비교 구문을 이용하여 값을 비교하고, 비교한 값에 대한 결과를 Cell에 넣는 방법에 대해서 알아볼까 합니다. 프로그래밍 언어에서 두개의 값을 비교할 때 가장 많이 사용되는 구문이 IF 구문입니다. IF 구문을 잘 모르신다구요? 그렇다면 아래의 링크를 보시면 될듯 해요. 조건문에 대해서(IF, CASE, IIF)http://guslabview.tistory.com/148 오늘 볼 예제 코드는 아래와 같습니다. 코드라니, ㅠㅠ '두개의 값을 비교하여 결과를 도출한다.Sub CompareValues() Dim value1, value2 As Integer Dim result As String value1 = Range("A1").Value value2 = Rang..
안녕하세요. 엑셀을 알려주는 구스입니다.오늘 글에서는 엑셀 매크로 VBA를 통해서 For문과 InputBox를 이용하여 원하는 열에 값을 넣는 코드를 배워볼까 합니다. 엑셀 매크로를 활용하여 자동으로 값이 사용자가 원하는 위치에 들어가는 코드인 셈입니다. 오늘 배울 코드는 아래와 같습니다. '1-1000까지 사용자가 원하는 열에 값넣기'이 함수는 For를 이용하였음 Sub PrintValuesUsingFor() Dim column As String column = InputBox("입력할 열의 값을 써주세요 (1-10) !", "열의 값 받기") Dim columnIndex As Integer columnIndex = CInt(column) For i = 1 To 1000 Cells(i, columnIn..
엑셀 매크로를 활용하여 새로운 엑셀 파일을 생성하여, 특정 값을 넣은뒤 저장하는 자동화 과정에 대해서 알아보도록 하겠습니다. 그럼 관련된 내용 진행하도록 할께요~ 엑셀 파일을 생성하기 위해서는 Workbooks 개체를 이용하여 새로운 Workbook을 추가해야 합니다. 새로운 Workbook 추가는 Workbooks.add 함수를 호출하면 됩니다. Workbooks.add 함수를 호출하면 생성된 Workbook이 ActiveWorkbook (활성화된 워크북)이 됩니다. 따라서 이 Woorkbook에 접근하기 위해서는 ActiveWorkbook 개체를 활용하면 됩니다. Workbook을 저장하기 위해서는 ActiveWorkbook 개체의 SaveAs 함수를 이용할 수 있습니다. 마지막으로 Workbook을..
이 글에서는 엑셀 매크로를 통해서 행과 열을 숨기는 방법에 대해서 알아보고자 합니다. WorkSheet의 행과 열을 숨기는 방법은 어떻게 할까요? 엑셀의 개체중 Rows와 Columns라는 프로퍼티가 있습니다. Rows : 특정 워크시트의 행들의 집합을 리턴한다. Columns : 특정 워크시트의 열들의 집합을 리턴한다. 행과 열의 값을 얻기 위해서는 위의 Rows와 Colmuns의 프로퍼티를 이용하여 행과 열의 정보를 가져와야 합니다.그럼 행과 열을 숨기기 위해서는 어떤 프로퍼티를 써야할까요. 행과 열을 숨기기 위해서는 Rows와 Columns의 개체의 자식 개체인 Hidden 개체를 사용하면 됩니다. Hidden은 True 와 False 값을 가질 수 있는 Boolean 타입입니다. 따라서 자신이 숨..
엑셀 VBA에서 조건문은 프로그래밍을 하는데 매우 유용한 방안입니다. 조건문은 특정 알고리즘을 위해서 비교를 수행하거나 루프구문에서 많이 사용됩니다. 이글에서는 조건문에 대한 예제를 통해 알아보는 시간을 가지도록 할 것입니다. 이 글은 아래의 내용을 포함하고 있습니다. IF 구문IF Else 구문IF ElseIf Else 구문 1. IF 구문 IF 구문의 문법은 아래와 같습니다. If Then IF 구문은 간단히 어떠한 구문을 확인하는데 사용이 됩니다. 위의 조건이 참이면 실행문이 실행이 됩니다. Sub DoIFStatement1() '셀의 A1값이 60만 이상이면, A2에 A1값 / 10의 값을 입력한다. If Range("A1") > 600000 Then Range("A2") = Range("A1")..
프로그래밍을 하다보면 하나 이상의 값을 이용하여 연산을 해야 하는 경우가 있는데 이러한 연산은 태스크라고 일반적으로 부릅니다. 특정 태스트를 수행하기 위해서는 최소한 1개의 값과 하나의 연산자가 필요합니다. 이 글에서는 연산자에 대해서 공부를 해볼 까 합니다. 이 글에서는 할당연산자, 라인연결 연산자, 라인피드 연산자, 쌍따옴표, 콜론, 비교연산자에 대해서 알아보도록 하겠습니다. 할당연산자 : = 만약 사용자가 숫자형 변수를 만들면, 컴파일러는 자동적으로 이를 0으로 할당합니다. 문자열이라고 한다면 빈문자열을 할당하게 되지요. 사용자는 이러한 초기값을 ‘=’ 연산자를 통해서 변경을 할 수 있습니다. 예: Sub AssingmentOperator() '변수 선언 Dim nRank As Integer '초기..
이 글에서는 변수와 상수에 대해서 알아보도록 하겠습니다. 변수와 상수 무엇을 의미할까요? 쉽게 설명하자면 변수는 변할 수 있는 수, 상수는 변할 수 없는 수 입니다. 영어로 하면 변수는 Variable이고, 상수는 Constant로 불립니다. 영어로 보니 둘의 차이가 확 와닿죠? 위의 그림에서 A에는 50이 아닌 다른 값을 사용자가 넣을 수 있지만, B에는 변경할 수 없습니다. 선언된 상수는 프로그램이 종료될 때까지 50이라는 값을 가집니다. 그럼 변수와 상수에 대해서 좀더 이야기 해보도록 합시다. 1. 변수 변수는 사용자가 원하는 값을 메모리 공간에 잠시 할당하는 것을 말합니다. 사용자가 변화를 주고자면 원하는 값으로 바꿀 수 있는것이죠. 변수 사용을 위해서는 선언(Declare)가 필요합니다. 변수 ..
변수를 사용할 때 변수의 범위를 이해하는 것은 아주 중요합니다. 여기서 말하는 변수의 범위는 변수를 사용할 수 있는 접근성(Accessibility)와 변수의 수명(Life Time)을 의미하게 됩니다. 변수의 범위는 4가지로 구분할 수 있습니다. - 프로시저 레벨 범위- 모듈 레벨 범위- 프로젝트 레벨 범위- 글로벌 변수 범위 위의 그림에서 확인할 수 있듯이 가장 작은 범위는 프로시저 레벨이며, 가장 큰 범위는 글로벌 변수입니다. 1) 프로시저 레벨 범위 프로시저 레벨 범위는 로컬변수라 많이 부릅니다. 모든 로컬 변수는 변수를 선언한 프로시저 혹은 변수 안에서만 사용이 가능합니다. 그리고 함수 혹은 프로시저가 종료가 되면 이 변수는 더이상 사용할 수 없습니다. 아래의 코드는 프로시저 레벨 변수에 대한 ..
이전 글에서 오브젝트에 대해서 간략히 알아보았는데요. 이 글에서는 Workbook, Sheet, Range, Cells 오브젝트에 대한 다른 예를 한번 살펴보도록 하겠습니다. 각 오브젝트가 의미하는 엑셀 구성요소는 아래와 같습니다. 엑셀 VBA 오브젝트 - Workbook, Sheets, Range, Cell 사용하기 WorkBook 사용하기 아래의 예제 코드는 Workbook 오브젝트를 사용하는 내용입니다. 이는 Excel Workbook의 함수와 프로퍼티를 사용하는데 도움을 줄것입니다. 1) WorkBook 활성화 하기 Workbooks(“Workbook1”).Activate 2) WorkBook의 경로 가져오기 Workbooks(“Workbook1”).Path 3) Workbook 의 전체 이름 가..
이 글에서는 엑셀의 오브젝트에 대해서 알아보도록 하겠습니다. 엑셀 VBA 오브젝트 모델은 다른 엑셀 오브젝트를 처리하는데 있어 아주 중요한 개념입니다. 오브젝트들은 실생활의 오브젝트와 비슷합니다. 만약 사용자가 집을 오브젝트라고 고려한다면, 이 오브젝트는 여러가지 특성을 가지고 있을 수 있습니다. 예를 들어 창문, 문, 지붕등이 있겠죠. 엑셀 VBA 오브젝트 모델 집은 아래와 같은 특징을 가지고 있습니다. 오브젝트(Objects) : 작은 개념의 오브젝트들 예) 방, 문 벽, 팬등속성(Properties) : 너비, 높이, 색상, 이름과 같은 속성콜렉션(Collections) : 모든 방을 방 콜레션으로 만들 수 있습니다. 문또한 문들의 콜렌션으로 구분할 수 있습니다. 이벤트(Events) : 방문이 열..
이 글에서는 엑셀매크로를 이용하여 셀의 데이터 및 속성을 복사하는 방법에 대해서 알아볼까 합니다 셀을 복사하는 함수는 Range 객체의 Copy 함수입니다. Copy 함수는 Destination이라는 파라미터를 가지고 있습니다. Copy 함수는 값만 복사하는 것이 아닙니다. 셀의 속성을 모두 복사를 합니다. 이에 대한 내용을 MSDN을 통해서 한번 살펴보도록 하겠습니다. Destination이라는 파라미터를 통해서 복사할 위치를 지정을 할 수 있습니다. Destination의 설명을 살펴보면, Destination은 복사될 위치를 지정되는 곳으로 볼 수 있습니다. Destination의 값이 누락되면(Omitted) 이 값은 클립보드에 복사가 된다는 것을 위의 설명을 통해서 확인을 할 수 있습니다. 위의..
이번 글에서는 Cell에 있는 텍스트의 값을 대문자화 혹은 소문자화하는 방법에 대해서 알아보도록 하겠습니다.엑셀 VBA는 기본적으로 이러한 기능을 사용할 수 있도록 함수를 제공하고 있습니다. 바로 UCase 함수와 LCase 함수인데요. 이 함수에 대한 내용을 MSDN을 통해서 살펴보도록 하겠습니다. 함수에 대한 내용중 별다른것은 없습니다. 대문자를 만들때는 UCase 함수를 쓰고, 소문자를 만들때는 LCase 함수를 쓰는구나 라고 외우시면 됩니다. UCase, LCase 함수 모두 Char 값을 받으면 Char로 리턴을 하고, String 값을 받으면 String을 리턴을 합니다. 자 그럼 위의 함수를 이용하여 예제를 한번 만들어 볼까요. 셀에 있는 데이터를 가지고 와서 B2의 값은 대문자로, B3의 ..
이번 그레서는 엑셀 WorkSheet의 셀의 폰트 색과 크기를 변경하는 방법에 대해서 알아보도록 하겠습니다.특정 셀에 대한 Font의 변경을 위해서는 Font의 개체를 사용해야 합니다. Font 개체는 Range 내부 개체로써 Range를 통해서 얻어온 요소를 통해 사용할 수 있습니다. Range.Font의 개체를 살펴보면 특정 오브젝트에 대한 폰트 오브젝트라 되어있습니다. 여기서 특정 오브젝트는 Range의 오브젝트 입니다. 즉, Range.Font를 이용하면 된다는 의미가 되겠죠. Font 개체 내부에도 많은 개체가 있는데요. 여기서 살펴볼 개체는 색에 대한 ColorIndex, Color와 사이즈에 대한 Size 속성입니다.ColorIndex와 Color는 이전 글에서 설명을 드렸으니 관련 된 내용..
이 글에서는 셀의 배경색을 변경하는 방법에 대해서 알아볼까 합니다. 셀의 배경색을 변경하는데 사용되는 개체는 바로 Range 개체겠죠.Range는 이전 글에서 설명드렸다 싶이 셀의 집합을 구성하는 개체입니다. Range 개체의 MSDN(Microsoft Developer Network)에서 Range 개체를 확인하면 아래와 같습니다.관련 링크 : https://msdn.microsoft.com/en-us/library/office/ff838238.aspx 즉 Range 개체는 WorkSheet에 있는 Row, Column, Cell, Cell의 집합을 처리할 수 있는 개체라고 볼 수 있겠네요. 셀의 배경색을 바꾸기 위해서는 Cell의 집합 혹은 Cell을 선택해야 합니다. 셀의 배경색을 변경하기 위해서는..
엑셀 매크로 보안은 다양한 프로그램 혹은 VBA 코드로 부터 자신의 데이터와 PC를 보호하는데 사용이 됩니다. 이 글에서는 이러한 엑셀 매크로 보안에 대해서 알아보도록 하겠습니다. 매크로를 이용하여 엑셀을 처리하고자 하면, 엑셀 파일은 일반 엑셀 파일이 아닌 엑셀 매크로 사용 통합 문서로 저장이 되어야 합니다. 이 파일에는 보안을 설정할 수 있습니다. 그러면 매크로 보안이란 무엇일까요? 매크로 보안를 알아보도록 하겠습니다. 매크로 보안은 위에서 설명한 바와 같이 엑셀 매크로 사용 통합 문서와 깊은 연관이 있습니다. 사용자가 매크로를 사용하는 엑셀 파일을 받았을 때 데이터 혹은 PC의 보호를 위해서 이에 대한 확인 및 설정이 가능합니다. 매크로 보안은 엑셀 파일에 포함된 매크로를 바로 실행시킬 것이냐, 아..
이번 글에서는 매크로를 만들고 나서 매크로 대화창(Macro Dialog)를 통해서 실행하는 방법에 대해서 알아보도록 하겠습니다. 아래의 과정을 통해서 실행을 할 수 있어요. 한번 따라 해보도록 합시다 1. 엑셀의 Develper 탭 혹은 View 탭으로 이동합니다. 2. Macro를 누르면, Macro 대화창이 나오게 됩니다. 3. 자신이 실행하고자는 Macro를 선택합니다. 여기 예제는 Sheet에 아래와 같이 ShowMeTheMsgBox가 구현이 되어있습니다. 4. 함수를 선택하고, Run 버튼을 누릅니다. Run 버튼을 누르게 되면 관련 함수가 실행이 됩니다. 추가적으로 단축키를 설정하는 방법에 대해서도 알아보도록 하겠습니다. 5. Macro 대화창에서 Options을 클릭합니다. Option을 ..
이 예제에서는 InputBox를 이용하여 사용자로 부터 값을 입력받고, 이에 대한 값을 MsgBox를 통해서 출력하는 방법에 대해서 알아보도록 하겠습니다. VBA에서는 Message Box(메시지박스)를 통해서 Macro가 실행하고 있는 도중에 사용자에게 보여주고 싶은 내용을 보여줄 수 있습니다. 또한 실행 중에 사용자로 부터 특정값을 입력받을 수도 있습니다. 입력은 Input Box(입력박스)를 통해서 사용자로 부터 VBA로 전달됩니다. 이 섹션에서는 InputBox와 MsgBox를 어떻게 사용할 수 있는지에 대해서 알아보도록 하겠습니다. InputBox로 들어온 값을 변수로 넣는 방법도 추가적으로 알아볼께요. MsgBox를 통해서 데이터 출력하기 사용자에게 어떠한 정보를 제공하기 위해서는 메시지박스를..
프로그래밍을 하다보면 특정 동작을 수행하는 알고리즘을 짜야하는 경우가 많습니다. 이러한 알고리즘이 하나의 Main코드에 넣게되면 Main코드가 너무 방대해줘서 코드에 대한 가독성이 떨어지는 문제점을 가지게됩니다. 코딩을 할 때 중요한 포인트중 하나가 가독성인데, 가독성이 높은 코드는 다른사람이 코드를 분석을 할 때 용이하기 때문에 개발에 대한 비용을 줄여주는 이점을 지니게 되죠. 가독성을 높이는 방법중 하나는 특정 알고리즘을 모듈화하는 것입니다. 모듈화를 할 때 대표적으로 사용되는 것이 바로 함수입니다. 함수는 소프트웨어 개발시 (반복되는) 특정 알고리즘을 하나의 함수에 넣어서 그 함수를 반복적으로 재호출하게 사용을 하게 됩니다. 함수를 잘 활용하면 가독성이 높아질 뿐아니라, 코드의 양도 줄이고, 향후 ..
이 글은 VBA 디버깅에 대해서 좀 알아 보려고 합니다. 사용자가 VBA를 통해서 어떠한 코드를 개발할 때, 작성된 VBA 코드가 원활하게 돌아가길 원할겁니다.하지만 개발자나 사용자 모두 사람인지라 한번에 완벽한 코드를 만들 수는 없습니다. 이러한 경우에 우리는 디버깅(Debugging)을 해야 합니다. 디버깅은 코드에 내포된 사용자가 실수한 코드를 수정하는 것을 의미합니다. 제대로된 디버깅은 사용자가 개발한 어플리케이션 혹은 VBA의 문제점을 해결해줍니다. VBA는 다양한 옵션을 통해서 VBA 코드를 디버깅하도록 도와줍니다. 이러한 옵션에 대해서 한번 알아보도록 하겠습니다. 프로시저 실행하기 (단축키 F5) 프로시저를 만든뒤 실행하기 위해서는 마우스 커서를 프로시저 안에 두고 F5를 누릅니다(혹은 Ru..
이전 글에서는 Macro를 Record하는 방법에 대해서 알아보았습니다. 이 글에서는 VBA 코드에서 Hello World를 보여주는 실질적인 코딩을 해보도록 하겠습니다. 아래의 과정을 따라하시면 Hello World라는 문자열을 보여주는 메시지박스를 생성할 수 있습니다. Step1: VBA 에디터를 엽니다. 단축키는 Alt + F11입니다. 단축키를 누르면 아래와 같은 화면을 볼 수 있습니다. Step2: VBAProject라 되어 있는 부분에서 오른쪽 마우스버튼을 눌러 Insert - Module을 선택하여 모듈을 추가합니다. 여기서 모듈은 함수의 집합이라고 할 수 있습니다. 우리는 이 모듈에 메시지박스를 보여주는 함수를 추가할 것입니다. VBA에서의 함수는 Sub 프로시저와 Function 프로시저..
이번글에서는 설정한 매크로에 대해서 디버깅하는 방법과 코드 수정하는 방법에 대해서 알아보도록 하겠습니다. VBA나 매크로를 원활하게 사용하기 위한 프로그래밍의 가장 중요한 점은 디버깅입니다. 디버깅을 잘해야 원하는 결과물을 만들어 낼 수 있습니다. 하지만 초급자 입장에서 디버깅을 하기가 쉽지는 않죠. 하지만 VBA는 엑셀 내부의 함수를 대부분 사용하기 때문에 관련 문법과 함수 사용법이 눈에 익기만 하면 다른 언어보다는 쉽습니다. 에러가 발생하는 이유도 제한적이기구요. 추후에 디버깅을 하는 방법에 대해서 자세히 다뤄볼텐데요. 이 글에서는 간단히 어떤식으로 코드가 흘러가는지를 보는 정도만 언급을 하도록 하겠습니다. 수정 부분도 간단히 할 겁니다. 겁먹지마세요 ^_^ 궁금한 점이 있으시면 언제든 물어보시면 답..
이전 글에서 엑셀에서 간단히 매크로를 설정하고 사용하는 방법에 대해서 알아보았습니다. 못보셨다구요? 그럼 이전글부터 한번 보고 오시죠!! ^-^/ 2015/09/06 - [IT Info/Excel And Macro] - 엑셀에서 매크로(Macro) 사용하는 방법 이 글에서는 위의 방법으로 설정한 매크로를 제대로(?) 저장하는 방법에 대해서 알아보도로 하겠습니다. 사용자가 설정한 매크로는 엑셀을 저장하게 되면 엑셀 내부에 저장이 되게 됩니다. But, 저장을 하고자 Save 버튼을 눌러서 파일이름을 지정하고 저장버튼을 누르면 아래와 같은 창이 뜨게됩니다. 창이 뜨거나 하면 당황스럽죠. 내가 멀 잘못했나 싶기도 하고...이럴땐 당황하지 말고, 아래의 방법으로 해결하시면 됩니다. 내용을 정리하면, 현재 파일에..
Excel 매크로는 마이크로소프트 엑셀의 가장 유용한 툴 중 하나입니다. 사용자는 매크로를 이용하여 자동적으로 원하는 Task를 만들 수 있습니다. 이 툴은 자동화에 대한 Task 생성에 대한 시간을 절약하여 주고, 직접 프로그래밍시 생길 수 있는 사용자 에러를 제거합니다. 사용자가 Excel VBA에 대해서 잘 알지 못하더라도, 매크로를 이용하여 Task를 자동화 할 수 있습니다. 매크로 녹화 버튼을 누른뒤 사용자가 추가하는 대부분의 작업을 자동적으로 추가할 수 있습니다. (모든 기능이 되는 건 아닙니다.) 사용자는 VBE(Visual Basic Environments)를 통해서 원하지 않는 코드를 삭제할 수 있습니다. 이에 대한 내용은 추후 설명드리겠습니다. 아래의 예제를 통해서 Excel 매크로를 ..