본문 바로가기

전체 글356

[기초방 [기초방] VBA 100제 #72 [ 조건에 맞는 숫자 반환 및 정렬 ] 영역을 순환하면서 50보다 큰 수를 vtemp 배열에 담아라 or Each rngA In rngAll If rngA > 50 And TypeName(Application.Match(rngA, vtemp, 0)) = "Error" Then i = i + 1 vtemp(i, 1) = rngA End If Next rngA 이렇게 하면 vtemp 에 50보다 큰 값들이 모두 쌓이게 되고 / i 변수에는 실제 숫자가 몇개 담겨 있는지 그 갯수가 나온다. 자 여기서 가장 핵심구문이다. 반환되는 영역이 11 x 4 이지 여기에 정확하게 50보다 큰수가 몇개 들어갈지는 모른다. 구해보면 11 x 4 = 44개중 실제로 값은 42개만 들어가게 된다. 그렇다면 vtemp(43,1) 과 vtemp(44,1) 의 값은 비어.. 2023. 10. 12.
[의뢰]DB 검색 오늘은 DB검색 프로그램을 만들어 보려고한다. 실제로 의뢰하여 납품한 녀석이다. 이것을 위한 준비사항이 가장 급선무가 있다. 난 배포문제 때문에 365를 쓰지 않을거야....라는 낡은 생각..... 생각해보자. 이글을 읽는 본인이 과연 1년동안 몇번의 의뢰를 받고 몇번을 납품했는지.. 그런거 아님..그냥 365 세계에 바로 들어오길 바란다. 뭔가 대단해 보이고 복잡해 보이는 저 프로그램은 실제로는 =CHOOSECOLS(FILTER(내역DB!A5:T95, ISNUMBER(SEARCH(C7,내역DB!T5:T95))* (내역DB!H5:H95 >= OUTPUT!I3)*(내역DB!J5:J95 >= OUTPUT!J3)* (내역DB!L5:L95 >= OUTPUT!K3)*(내역DB!N5:N95 >= OUTPUT!L3).. 2023. 10. 10.
[스프레드시트] 대시보드 만들기#2 대시보드 그까이거 대충 차트 몇개 넣어서 뺑글뺑글 돌아가게 하면 되는거 2023. 10. 10.
[기초방] VBA 100제 #71 [ 전체누적 + 월별누적 ] 자 이번 문제는 전체누계와 월별 누계를 따로 계산해야 하는 문제이다. 전체누계야 그냥 처음부터 계속 더하면서 나가면 될것이고 월별누계가 약간 머리를 써야 한다. 원래는 엑셀 수식처럼 해당일자와 전일 일자와의 월을 비교해서 구하는게 정석이지만, 문제를 만들때 2023-01-01부터 9월까지 쭉 만들어 놓은거라.. DAY 함수를 사용하여 1일 인지를 파악하여 월별 누계를 구하였다. If Day(rngA(1, 0)) = 1 Then Val2 = Val2 * 0 + rngA Else: Val2 = IIf(Val2 = 0, rngA, Val2 + rngA): End If 핵심 구문은 이렇다. 해당일자의 일자가 1일인지를 확인해서 1일이며 새로운 달이 시작한 의미이기 때문에 누계값을 초기화 해준 후 해당일자의 값을.. 2023. 10. 8.