본문 바로가기

Excel262

얼렁뚱땅 엑셀 VBA] Range 개체 Range 개체 셀 또는 범위 참조 Range 개체를 이용해서 셀 또는 범위를 선택하는 방법 1234567891011121314Sub range_test() Range("A1").Value = 1 ' .value 속성이 기본값Cells(2, 1) = 2 'Cells(Row, Col), cells(1,1)Cells(3, "A") = 3 Range("A4:A6") = 4Range("A7", "A9") = 5 ' 쉼표로 분리해도 연속된 범위로 인식 Range("A10:A11, B1:B5") = 6 '떨어진 범위 ' 만약 여기서 "A10:A11", "B1:B10" 로 각각 따옴표로 묶어주면 ' 연속된 범위로 인식함 End SubColored by Color Scriptercs Range 개체의 주요 속성 Add.. 2017. 5. 26.
얼렁뚱땅 엑셀 VBA] InputBox InputBox 함수와 InputBox 매서드 InputBox 함수 사용자로부터 값을 입력받는 함수. InputBox는 입력받은 값을 String 형태로 반환. 기본구문은 아래. InputBox(prompt, [title], [default], [xpos], [ypos], [helpfile], [context]) prompt - 대화상자에 표시될 내용. 생략불가 title - 대화상자의 제목표시줄에 표시될 내용 default - 대화상자에 값을 입력하지 않을 때의 기본 값 xpos, ypos - 대화상자의 위치 값 helpfile, context - F1을 눌렀을 때 보여줄 도움말 파일 123456789Sub 인사() Dim msg As String msg = InputBox("어떻게 불러드릴까요?", .. 2017. 5. 25.
얼렁뚱땅 엑셀 VBA] 매개변수의 전달 - ByRef, ByVal 프로시저에 매개변수를 전달하는 방법. ByVal - 값에 의한 전달 ByRef - 참조에 의한 전달(디폴트) 프로시저 작성에 별다른 표기를 하지 않으면 참조에 의한 전달(ByRef)을 기본적으로 적용한다. 12345678910111213141516171819202122Sub mainPro() Dim i As Integer Dim j As Integer i = 10 '메인프로세스에서 변수값 10으로 저장 j = 10 Call subPro(i, j) '서브프로세스 호출 MsgBox "i : " & i & " , " & "j : " & j End Sub ----------------------------------------------------- Sub subPro(ByVal i As Integer, ByR.. 2017. 5. 24.
얼렁뚱땅 엑셀 VBA] Function 프로시저 Function 프로시저 Function 프로시저는 사용자 정의 함수라고 할 수 있다. Sub 프로시저와 달리 매개변수를 인수로 받을 수 있고 결과값을 반환한다. (매개변수 - 프로시저를 호출할 때 해당 프로시저에게 전달하는 값) 기본 구문은 아래와 같다. Function 함수명 (매개변수1 As 변수형식, 매개변수 2 As 변수형식....)_ As 결과값_데이터형식 '실행명령 함수명 = 결과값 End Function 매개변수의 생략 : Optional 키워드 - 만약 생략할 수 있는 매개변수가 있을 경우 매개변수 앞에 Optional 키워드를 넣는다. - Optional 키워드는 맨 마지막 매개변수에만 사용할 수 있다. (Optional 매개변수가 2개 이상이라면 맨 뒤 쪽으로 붙여서 사용한다. - O.. 2017. 5. 23.
엑셀Tip] 1행으로 된 자료를 2열로 정리하기 이전 블로그에서 2열로 된 데이터를 아래 행으로 옮겨서 2행으로 만드는 방법에 대해 정리했었다. - 엑셀] 데이터를 아래로 옮겨 2열을 2행으로 만들기 이번 글에서는 위 그림과 반대로 1행으로 된 자료를 2열씩 끊어서 옮기는 방법에 대해서 알아본다. 행으로 된 자료를 몇 개의 열로 옮기려면 offset함수를 사용한다. OFFSET함수는 참조를 반환하는 함수로 기본 구문은 아래와 같다. OFFSET(기준셀, 행방향 이동 수, 열방향 이동 수, 참조 높이, 참조 너비) 즉, offset함수는 기준 셀에서부터 행 방향과 열 방향으로 각각 이동한 다음 그 셀값을 반환하는 함수이다. offset함수 사용이 익숙하지 않으면 어떤 숫자가 들어가야 하는지 생각하면서 거꾸로 수식을 만들어가는 방법을 사용하는 것이 낫다... 2017. 5. 22.
얼렁뚱땅 엑셀 VBA] 순환문(For ~ Next / For Each ~ Next) For ~ Next문 프로시저 내에서 특정 명령을 반복하기 위해서 사용하는 구문. For 카운터 = 시작번호 to 끝번호 [Step 간격] '실행명령[Exit For]Next [카운터] - 카운터는 별도 Step을 정해주지 않으면 1씩 증가 12345678910111213Sub 합계() Dim Sum As IntegerDim Counter As IntegerSum = 1 For Counter = 1 to 10 ' Counter 1부터 10까지 For문 순환 sum = sum + sumNext Counter MsgBox Sum End SubColored by Color Scriptercs For Each ~ Next문 For~Next문과 비슷하지만 지정한 횟수를 반복하는게 아니라 컬렉션의 개체를 순환하거나.. 2017. 5. 21.
얼렁뚱땅 엑셀 VBA] 조건문(Select Case문) Select Case 두 개의 조건을 처리할 때는 If ~ Then, 세 개 이상의 조건 중 하나를 처리할 때는 Select Case 구문을 사용하는 것을 권장한다고. (코드의 간결함? 가독성??) Select Case 판단대상 [Case 조건 n][판단대상의 조건 n이 참일 때 실행할 명령][Case Else][디폴트 실행 명령문]End Select 판단대상은 수식 또는 문자식으로 주어진다. Case문의 조건 처리 방법에 대해 알아보면 Case 1 ' Select Case 의 판단대상이 1이라면 아래 나오는 문장 처리 Case "OK" ' 판단대상이 OK라는 문자열이라면 처리 Case 1,2,3 ' 쉼표로 구분된 값 중 하나와 일치하면 처리 Case 1 to 10 ' 1~10 사이의 값이라면 처리 Ca.. 2017. 5. 20.
얼렁뚱땅 엑셀 VBA] 조건문(If~Then~Else문 / IIf문) If문 If문의 기본 구문은 아래와 같다. If 조건 Then 참일 때 명령문 [Else 거짓일 때 명령문] Else문은 선택적으로 사용할 수 있기 때문에 If만 있는 문장도 가능하다. If Time < 0.5 then MsgBox "Good Morning" If문을 한 줄로 입력하지 않고 2줄로 입력할 경우 IF 문 뒤에 End If문을 넣어줘야 한다. If ~ ElseIf If문에 조건을 더하려면 ElseIf문을 추가하고, If문에 조건이 거짓일 때 명령문을 추가하려면 Else문을 추가한다. 이 두가지 모두 선택적으로 사용할 수 있다. If 조건 Then 참일 때 명령문 [ElseIf 두번째_조건 Then]두번째_조건이 참일 때 명령문[Else] 위의 두 조건에 해당하지 않을 경우 실행할 디폴트 명령.. 2017. 5. 19.
얼렁뚱땅 엑셀 VBA] 배열변수, 동적 배열변수 배열변수 배열을 저장할 수 있는 배열변수는 별도 표시가 없는 경우 인덱스 번호 0부터.(필요한 변수 갯수보다 하나 적은 숫자 기입) 인덱스 번호를 1부터 사용하려면 to를 함께 사용 Dim 배열변수(9) As String ' 10개의 변수 저장 가능 Dim 배열변수(1 to 10) As String '10개의 변수 저장 가능 다차원 배열변수 2차원 배열이 제일 많이 사용됨 R * C 형태로 사용됨(Row * Column) 로또 결과를 50회차까지 저장하려면 50*6 형태를 사용. Dim 로또누적(1 to 50, 1 to 6) 로또누적(1, 1) = 2로또누적(1, 2) = 11로또누적(1, 3) = 16...로또누적(50, 4) = 30로또누적(50, 5) = 37로또누적(50, 6) = 41 동적 배열.. 2017. 5. 18.