목록MS/Excel (47)
남극
워크시트 함수 워크시트의 함수라고 하면 시트에서 사용할 수 있는 함수들을 뜻합니다. 엑셀 시트에서는 수식을 입력해서 결괏값을 구할 수 있습니다. 수식에서 사용하는 함수들을 vb에서 사용해보도록 하겠습니다.\ WorksheetFunction worksheetfunction이라는 함수를 사용하면 sheet에서 사용하는 함수들을 사용할 수 있게 됩니다. 하지만 sheet에서의 작업을 vb에서 하는 것일 뿐입니다. Sub 프로시저() Range("A1").Value = Application.WorksheetFunction.Sum(Range("A2:A4").Value) End Sub 가장 기본적인 sum함수를 사용했습니다. a2셀부터 a4셀에 있는 값을 다 더해서 a1셀에 담아주는 소스코드입니다. 이러한 형식으로..

형 변환 하기 값을 사용하다 보면 값의 type이 원하는 type으로 설정해줄 수 없을 때가 있습니다. 그럴 때 형식을 변환해준다, 즉 type을 변환해주는 것을 형 변환이라고 합니다. CBool Boolean CDate Date CDbl Double CInt Integer CLng Long CStr String Cvar Variant 함수는 이렇게 있습니다. 왼쪽이 함수이고 오른쪽이 반환하는 type입니다. 이 중에서 중요한 몇 가지에 대한 예제를 보면서 이해해보도록 합시다. CLong, CInt 두 함수는 형식이 같습니다. 둘 다 정수형으로 바뀌는 성질을 가지고 있으며 소수점에서 반올림을 합니다. Sub 프로시저() Dim rs1 As Long Dim rs2 As Long rs1 = CLng(12.3..

Split 함수 Split함수는 문자열을 지정된 구분자로 나누는 함수입니다. 문자열을 나눠 일차원 배열로 반환해줍니다. Sub 프로시저() Dim str As Variant str = Split("1,2,3,4,5,6,7", ",") MsgBox str(0) End Sub 배열을 선언하고 1부터 7까지의 숫자를 쉼표로 구분해주었습니다. 메시지 박스에는 str 배열의 0 번째를 출력하도록 하였습니다. 0 번째인 1이 잘 나왔습니다. 이렇게 쉽게 배열을 만들어낼 수 도 있습니다. split 또한 유용한 함수입니다.
값을 바꾸는 함수 vba에 있는 함수 중 값을 바꾸는 함수가 있습니다. 문자를 지정해주고 지정해준 문자를 실행 중에 바꿀 수 있죠. 변수 = Replace(변수,"바뀔 문자","바꿀 문자",시작할 문자,바꿀 횟수, 비교 방법) 저는 이렇게 썼습니다. Me.Label1 = Replace(Me.Label1, "or", "i", 1, -1, vbBinaryCompare) 폼의 레이블에 Hello world를 바꾸기 위해서 첫 번째부터 제한 없이 검사하기 위해 -1을 썼습니다. vbBinaryCompare는 이진수를 비교하므로 대소문자를 구분하여 비교하는 인수입니다. 그와 반대로 vbTextCompare라는 인수도 있는데 이 인수는 대소문자를 구분하지 않고 문자열을 바꾸어 버립니다. 링크를 타고 들어가시면 파일..

MsgBox함수 사용하기 제가 포스팅에서 값을 출력할 때 사용했던 Msgbox에 여러 가지 기능에 대해서 알아보는 시간을 가져보도록 하겠습니다. 사실 값을 확인하는 명령어는 Debug.Print라는 명령어가 있습니다. 사용 시 직접 실행 창에 값이 출력됩니다. 이것 또한 유용하니 알아두시는 것을 추천드립니다. 어쨌든 지금까지 값을 확인하기 위해 사용했던 msgbox의 요소들을 알아보도록 합시다. 기본적인 메시지만을 띄울 때 사용방법입니다. MsgBox 문자열 문자열 사이에 변수 또는 함수의 반환 값을 넣고 싶다면 "&"를 사용하시면 됩니다. MsgBox "문자열" & 변수 & "문자열" 이렇게 말이죠. vbYesNo 평소에도 많이 보시는 형태입니다. 버튼 2개, Yes or No로 구성된 형태이죠. Su..

날짜에 대한 함수 엑셀에서 사용할 수 있는 날짜 관련 함수들에 대해서 알아보도록 하겠습니다. 포스팅에서의 날짜는 2020년 4월 23일을 기준으로 하고 있습니다. Date 대표적으로 Date함수는 (yyyy-MM-dd) 형태의 값을 반환합니다. Sub test() Dim dt As Date dt = Date MsgBox dt End Sub Date는 현재 날짜만을 반환하는 함수입니다. 잘 출력이 되었습니다. Now 위에서 보았던 Now 함수는 날짜와 시간을 반환합니다. Sub test() Dim dt As Date dt = Now() MsgBox dt End Sub 시간까지 모두 출력되었습니다. Year 이름과 같이 년도를 반환하는 함수입니다. Sub test() Dim dt As Integer dt =..