목록분류 전체보기 (123)
남극

범위를 정하고 값을 넣기 범위를 정했으면 그 범위에 값을 넣어주어야 합니다. Sub 연습() Range("A1").Value = Date End Sub 기본적으로 값을 넣어줄 때는 위와 같은 명령어를 사용합니다. 셀을 선택하고 Value라는 명령어로 설정해 줍니다. Date라는 함수는 현재 날짜를 반환해 주는 함수입니다. 수식 입력하기 수식을 입력할 때는 Formula 속성을 사용합니다. Formula 속성은 수식을 적으면 값을 그에 따른 값을 정한 셀에 값으로 지정합니다. Sub 연습() Range("A1").Formula = "=b1+c1" End Sub 이에 대한 예시입니다. 이렇게 b1 셀과 c1 셀의 합이 a1 셀에 나오게 됩니다. 간단합니다. 수식만 잘 세울 수 있는 능력을 키운다면 정말 복잡..

범위 선택 VBA에서 시트의 셀 범위를 설정하는 방법에 대해서 알아보도록 합시다. 우선 Range라는 명령어가 있습니다. Range는 우리가 아는 셀의 좌표를 입력합니다. Sub 연습() Range("A1").Select End Sub A1은 A열의 1행을 의미합니다. 그렇기에 이 소스코드는 A열의 1행을 선택하는 소스코드임을 알 수 있습니다. 이와 비슷한 명령어로는 Cells가 있습니다. Sub 연습() Cells(1, 2).Select End Sub 이 소스코드는 시트의 셀 1행 2열을 선택한다는 의미의 소스코드입니다. Sub 연습() Cells(1, "A").Select End Sub 또한 문자열로 열을 지정해줄 수도 있습니다. 여러 범위를 한 번에 설정해줄 수도 있습니다. Sub 연습() Rang..

On Error GoTo문 디버깅을 할 때 우리는 오류의 내용을 알면 조금 더 정확하고 빠르게 오류를 해결할 수 있습니다. On Error GoTo 명령어는 에러가 났을 때 에러가 났는지 혹은 어떤 에러인지를 파악할 수 있는 명령어입니다. Sub 연습() On Error GoTo Go_Err Dim var As Integer var = 1 / 0 Go_Err: MsgBox "오류 : " & Err.Description End Sub 이 소스코드는 일부러 1을 0으로 나누어서 에러를 만들었습니다. 이 소스코드를 실행하면 Go_Err 부분이 실행되게 됩니다. 그렇기에 메시지 박스에 오류가 무엇인지 나타나게 됩니다. 결과는 이렇게 나옵니다. 또 이러한 특성에 따라서 일부러 오류를 내야 할 때도 있습니다. 예를..

Debugging 우리가 코드를 작성하고 실행을 하다 보면 많은 오류와 원하지 않는 결과를 얻게 됩니다. 그럴 때 해야 하는 것이 디버깅입니다. 디버깅은 오류의 원인 혹은 데이터의 흐름을 찾아내며 소스코드를 분석하는 일입니다. 이러한 매크로가 있을 때 f8을 눌러서 디버깅을 시작합니다. f8을 누르면 한 줄씩 실행이 되며 f8을 눌러서 한 줄씩 실행시킬 수 있습니다. "안녕"이라는 메시지 박스를 출력하는 소스코드가 있습니다. 이걸 디버깅을 해보도록 합시다. 우선 f8을 눌러서 한 줄씩 실행을 해봅시다. 위에 있는 사진처럼 MsgBox를 실행하기 전에 멈춰두고 직접 실행창에서 명령어를 입력해보도록 합시다. 직접 실행 창에서는 "? 변수 이름"으로 변수가 가지고 있는 값을 알 수 있습니다. 또 조사식이라는 ..

프로시저 선언 방법 이 강의에서는 프로시저, VBA에서 사용 가능한 모든 것을 담았기에 기초를 파악하실 때 상당히 도움이 되실 것이라고 생각합니다. 이 포스팅에서 프로시저에 싸여있지 않은 소스코드는 프로시저에 감싸져 있다고 가정하에 작성된 소스코드입니다. Sub 프로시저() End Sub 우리가 알고 있는 기본적인 선언 방법입니다. 선언을 하고 나면 우리는 프로시저 내부를 구성해야 합니다. 구성을 할 때 가장 기본적인 변수 선언에 대해서 가장 먼저 알아보도록 합시다. 변수 선언 변수를 선언할 때는 Dim문을 사용합니다. Dim 변수 as "변수type" Dim 변수명 as 변수 type으로 선언을 합니다. as 뒤에 오는 변수 type이라는 것은 변수의 type을 지정해주는 부분입니다. 예를 들어 문자열..
이름에 대한 규칙 변수를 만들던 프로시저를 만들던 모두 각자의 이름을 가지고 있습니다. 우리는 자신의 아이들의 이름을 지을 때 같은 이름으로 지어주지 않습니다. 왜냐하면 누가 누군지 구분을 해야 하기 때문입니다. 이와 같은 이유로 프로시저의 이름을 지을 때 우리는 무엇인지 알아볼 수 있도록, 겹치지 않도록 이름을 만들어 주어야 합니다. 그저 Function1이라고 이름이 지어져 있다면 어떤 기능을 하는지 전혀 알 수 없기 때문입니다. 알아야 할 것은 규칙을 벗어났을 때는 오류가 난다는 것입니다. 1. 이름의 가장 첫 번째 문자에는 문자를 사용해야 합니다. 2. 이름에는 특수문자를 사용할 수 없습니다. 3. VB의 기존 모듈, 함수 들의 이름과는 같을 수 없습니다. 4. 대, 소 문자를 구별하지 않고 이름..