VBA/엑사남_기초방93 [기초방] VBA 100제 #66 [ 문자열 정렬하기(feat. 배열정렬) ] 문자열을 정렬하는 구문이다. 정렬을 위해서 지나칠 정도로 꼬아놓은 문제이다. 우선 몇일동안 본인이 올려놓은 코드들중에 일부 코드가 오피스 2019버전 이하에서는 적용이 안될수 있다. 이번 문제를 풀기 위해서 키 역할을 한 녀석이 SortBy인데 역시 하위버전에서는 작동이 안될 수 있다. 우선 엑셀 sort 함수를 이용한 배열 정렬이다. ReDim maxNum(1 To UBound(Vall, 1), 1 To 2) For Each Va In Vall i = i + 1 maxNum(i, 1) = Va maxNum(i, 2) = .MaxIfs(rngAll.Offset(, 1), rngAll, Va) Next Va maxNum = application.Sort(maxNum) 배열을 정렬하여 maxNum 배열에 넣.. 2023. 9. 21. [기초방] VBA 100제 #65 [ 유효성 검사를 통한 필터링 ] 기초방 64번 문제에 필터링까지 발전한 문제이다. 처음에 의도한건 Filter함수로 해결하는 의도였지만, 엑셀 2021버전이상 가능한 함수여서 고급필터와 정렬함수로 해결하였다.더보기Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim rngAll As Range: Set rngAll = [e5].CurrentRegion Dim rngA As Range: Set rngA = [k6:m6] Dim rngX As Range Dim i& If Intersect(Target, [k6:m6]) Is Nothing Then Exit Sub For i = 1 To 3 Validation rngA.Item(i) '= 유횽성검사 호출 Next i .. 2023. 9. 20. [기초방] VBA 100제 #64 [ 유효성 검사를 통한 총 수량 구하기 ] 엑셀에서 많이 나오는 문제이다. 각 키값을 조회하여 sumifs를 통해서 총 수량을 구하는 그런 문제.... 이런 문제를 VBA로 풀 사람이 있을까도 싶다..ㅋㅋㅋ 근데 언제는 그런 거 생각하고 문제를 낸게 아니므로...그냥 코드 리뷰를 해보려한다. 유효성 검사를 만들어가는 하위 프로시저가 핵심이 아닐까 한다. Sub Validation(rngX As Range) Dim rngV As Range Dim V Set rngV = Range(rngX(1, -5), rngX(1, -5).End(4)) V = Application.Sort(Application.Unique(rngV)) V = Join(Application.Transpose(V), ",") With rngX.Validation .Delete .Ad.. 2023. 9. 19. [기초방] VBA 100제 #63 [ X축, Y축 최대 최소값 구하기 ] x축과 Y축의 최대 최소값을 구하는 문제이다. 단 X축에 최대값이 X축의 최대값과 Y축의 최대값이 X축에 함께 있으면 Y축의 두번째 최대값에 빨간색을 입혀야 한다. 영역의 최대 최소값은 하위프로시저를 호출하면서 작성하면 편하다 Sub find_Cell(rngAll As Range) Dim rngA As Range, rngX As Range Dim maxNum&, minNum& maxNum = WorksheetFunction.Max(rngAll): minNum = WorksheetFunction.Min(rngAll) For Each rngA In rngAll If rngA.Value = maxNum Then rngA.Font.Color = vbRed If rngA.Value = minNum Then rng.. 2023. 9. 19. 이전 1 ··· 6 7 8 9 10 11 12 ··· 24 다음