VB(A) 197

경우의 수

총액이 30,000 원이고 커피 5,000원, 밥 3,000원 영화 10,000원 .... 등등 일 때 5,000x + 3,000y + 10,000z + ........... 의 조합이 몇개가 나오는지에 대한 경우의 수입니다. 재귀함수를 이용했습니다.항목의 개수가 수시로 변할 때 경우의 수를 구하는 일이 필요할 때 사용하면 좋을 듯 합니다.항목의 개수가 일정할 땐 항목의 개수만큼 for next 함수를 쓰면 됩니다. 총액이 커지면 그만큼 경우의 수도 많아지고그러면 컴퓨터가 뻗습니다.재귀함수의 단점이 자원을 많이 잡아먹는 점이라는 함정. Option ExplicitOption Base 1 Private 총액 As Long '한달 용돈Private 항목별합계() As Long '항목별 사용한 금액을 담을 배..

VB(A) 2015.11.06

비밀번호 생성

영문, 숫자, 특수문자의 숫자를 지정하고그만큼 문자를 생성하는 매크로해외에서 짜깁기. Function RandomPass(lowerCase As Integer, NumericChr As Integer, SpecialChr As Integer) As String Dim i As Byte Dim v As Variant Dim NonAlpha As Variant ' Set Non-alpha characters to choose from NonAlpha = Array("~", "@", "#", "$", "%", "^", "&", "*", "(", ")", "+", "?") For i = 1 To SpecialChr RandomPass = RandomPass & NonAlpha(Int((UBound(NonAlph..

VB(A) 2015.10.31

두가지 조건을 만족하는 값 나열

두가지 조건(동, 반)을 만족하는 값을 모두 나열해주는 사용자정의 함수오랜만에 하니 헷갈리는구먼 ㅋ Option ExplicitFunction Whoisthis(CriteriaRange As Range, _ SearchValueDong As Integer, _ SearchValueBan As Integer, _ Optional DelimiterChar As String = ",") As Variant Dim rnG As Range Dim vName() As String Dim i As Integer If CriteriaRange.Columns.Count > 1 Then Exit Function For Each rnG In CriteriaRange With rnG If .Value2 = SearchValu..

VB(A) 2015.10.16

체크박스로 시트 보호 해제 및 셀 잠금 해제

체크박스를 활용하여시트보호 해제 / 셀 잠금 해제 하는 코드 Sub 확인란2_Click() If ActiveSheet.ProtectContents Then ActiveSheet.Unprotect "admin" Call Check2 ActiveSheet.Protect "admin" Else Call Check2 End If End SubSub 확인란4_Click() ActiveSheet.Unprotect "admin" If Range("C5") = True Then Range("C5").Locked = False Range("E5").Locked = False Range("G5").Locked = False ActiveSheet.Protect "admin" End If End Sub Sub Check2()..

VB(A) 2015.10.14