본문 바로가기

매크로17

엑셀팁] 현재의 날짜 또는 시간 입력하기 현재의 날짜 또는 시간을 셀값으로 입력하기 엑셀은 현재의 날짜와 시간을 입력하는 방법으로 내부함수를 제공하고 있다. 현재의 날짜는 today()현재의 시간은 now() 함수를 사용한다. 그런데 문제는 이 두 함수의 기준이 되는 시간은 함수가 계산되는 시점이기 때문에 지금 저 함수를 사용해서 날짜와 시간을 작성한다고 하더라도 내일 파일을 다시 열어보면 내일의 날짜와 시간으로 변경된다. 이런 문제 없이 A열에 데이터가 입력되었을 B열에 입력시간을 기록하는 방법에 대해서 포스팅해본다. 1. 단축키로 입력하기 자동화는 아니고 수동(?) 아날로그 방법이다. today()함수와 now()함수로 입력하면 날짜와 시간이 변경되기 때문에 현재의 날짜와 시간을 엑셀 셀에 입력해 넣는 방법이다. 다만 단축키로 입력하기 때문.. 2020. 12. 13.
얼렁뚱땅 엑셀 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.
얼렁뚱땅 엑셀 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.