[VBA]

· [VBA]
vba 배열에 특정값이 있는지 확인하는 방법은 아래와 같다. Array변수 자리에 Array 변수를 넣고, 다음 인수값에 찾고자하는 값을 넣으면 된다. UBound(Filter(Array변수, "검색값")) 결과는 없으면 -1, 찾으면 0 으로 나온다. 예제코드 Sub checkArray() Dim arrTest(5) As String arrTest(0) = "가" arrTest(1) = "나" arrTest(2) = "다" arrTest(3) = "라" arrTest(4) = "마" arrTest(5) = "바" Debug.Print UBound(Filter(arrTest, "가")) Debug.Print UBound(Filter(arrTest, "나")) Debug.Print UBound(Filter..
· [VBA]
배열의 크기를 아는경우에는 미리 배열 크기를 선언하고 담아도 되지만 담아야 하는 개수가 몇개인지 모를때도 있다. 담아야 하는 배열의 개수를 모를 때 동적으로 배열크기를 조정하면서 1개씩 추가해보겠다. 우선 예제로 데이터를 대충 넣고 100이하의 값만 배열에 담기. 코드는 아래와 같다. 우선 동적배열로 선언하기 위해서는 null array 먼저 선언하고 ReDim 으로 재정의 해줘야 된다. 그런 다음 배열에 추가할 때는 Redim Preserve 로 기존 담겨있는 배열안의 값들을 보존해줘야 한다. 안 그러면 날라감. 배열의 크기를 return 해주는 ubound 를 써서 배열의 크기를 1씩 증가시켜준다. 하지만 ubound 함수를 쓰기위해서는 배열이 null 이면 안 되기 때문에.. 나같은 경우는 먼저 a..
· [VBA]
일단 엑셀에서는 ‘데이터 유효성 검사’를 사용하여 콤보박스를 사용할 수 있다. 하지만 위 기능은 한 개만 선택이 가능하고 여러개를 선택해서 셀값에 넣고 싶을 때는.. 예를 들어 아래처럼 여러개를 선택하고 싶을때 엑셀 기능만으로는 한계가 있는거 같았다… 몇일동안 엑셀 기본기능으로 구현하고 싶어서 찾았는데 결국 못 찾음. 일단 공식 사이트는 아래와 같이 사용하라고 하긴 하는데 나한텐 더 복잡해 보였음. 다중 선택 목록 상자 삽입 - Microsoft 지원 다중 선택 목록 상자 삽입 - Microsoft 지원 구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다. 커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 support.m..
· [VBA]
아래 코드는 엑셀 특정 범위를 그림파일로 저장하는 코드이다. 지금은 첫번째 시트에서 "a1"에 연결된 범위를 그림파일로 저장하는 코드인데 상황에 맞게 변경하면 된다. 또 그림파일 경로는 "C:\test_temp"로 경로설정을 해두었는데 이것도 상황에 맞게 변경하면 된다. Function Export(in_str저장파일 As String) As String Application.ScreenUpdating = False Application.DisplayAlerts = False Dim wb As Workbook Dim oWs As Worksheet Dim oRng As Range Dim oChrtO As ChartObject Dim lWidth As Long, lHeight As Long Set wb = ..
· [VBA]
우선 정규식을 사용하기 위해 아래 object 로 생성해준다.(도구→참조 들어가서 정규식 관련 추가해도 되지만 귀찮...) Dim regex As Object Set regex = CreateObject("VBScript.RegExp")
· [VBA]
아쉽게도 vba는 문자열을 쉽게 이어 붙일수 있는 함수가 따로 없다... 함수 짜기 귀찮아서 구글 여기저기 찾아보다 이상한것만 있길래 간단하게 직접 짰다. 기본적인 예외처리만 해두었음. Function printf(Input_Text As String, ParamArray Args()) As String Application.ScreenUpdating = False Application.DisplayAlerts = False Dim strReturn As String Debug.Print UBound(Split(Input_Text, "{")) If UBound(Args) UBound(Split(Input_Text, "{")) - 1 Then printf = "배열 개수 Error" GoTo 종료: End..
jkod
'[VBA]' 카테고리의 글 목록