VBA/엑사남_기초방93 [기초방] VBA 100제 #12 [ Like구문 ] 보통 이러한 패턴문제는 Like 와 정규식으로 풀수 있다. https://www.youtube.com/watch?v=sHg8o_RUcag 엑사남님이 이미 잘 정리해서 유튜브에 올려놓으셨으니 기초방분들은 학습하기길 바란다. 이런 패턴의 문제는 준빠님이 올려주신 대로 패턴에 일치하는 값들을 하나씩 붙혀가며 최종적인 문자를 출력하면 된다. 본인은 이번에는 like 구문의 부정형인 ' ! ' 와 정규식의 부정형인 ' ^ ' 과 Replace 조합으로 풀어보려한다. 더보기 Option Explicit Sub 기초방_12_like() Dim rngAll As Range: Set rngAll = [a3:a7] Dim rngA As Range Dim rngX As Range: Set rngX = [c3] Dim str.. 2023. 1. 10. [기초방] VBA 100제 #11 [ 영역과 조건에 따른 숫자채우기 ] 첫번째 문제는 For each 움직임을 이해하기 위한 문제이다. For each는 좌에서 우로 위에서 아래도 이동하게 된다. For each 를 성애자로서 우리방 모두가 for each를 쓰도록 이런 문제를 계속내도록 해야겠다...ㅋㅋㅋ For Each rngA In [c5:d14] cnt= cnt+1 rngA = cnt Next rngA 두번째 문제는 ㄱ 자 형태로 숫자가 내려오는 문제이다. 이것의 진행은 영역에서 ㄱ 자 형태를 만든 후 숫자가 채워지면 안쪽으로 ㄱ 자형태를 이동하면서 +1 씩 카운팅되는 숫자들을 출력하면 된다. Set rngQ = Intersect(Union(rngX.EntireRow, rngX.EntireColumn), rngAll) 이구문이 ㄱ 자 형태를 만드는 구문이다. 반복문을.. 2023. 1. 7. [기초방] VBA 100제 #10 [ 데이터 영역 재설정하기 ] 데이터 영역을 랜덤화해서 재설정하는 구문이다. 보통 이러한 문제는 랜덤 난수를 추출하여 그것에 따라 정렬하여 재배치 하면 된다. 문제풀이는 이렇다. 1. 난수를 발생 2. 난수와 기존값을 조합하여 임시 영역에 추출 3. 정렬 4. 난수와 기존값 분리 5. 기존값을 새로운 위치에 추출 6. 난수와 기존값을 출력한 영역 삭제 더보기 Option Explicit Sub 기초방10_1() Dim bln As Boolean Dim rngall As Range Dim i& Application.ScreenUpdating = False For i = 1 To 2 '= 문제에 따른 영역 재 설정 If bln = False Then Set rngall = [c5:c14] Else Set rngall = [e21:k27].. 2023. 1. 6. [기초방] VBA 100제 #9 [ 데이터 영역 선택하기 ] 기초방 #9번 문제는 Offset 의 정확한 이해를 바탕으로 풀이가 가능한 문제이고 기초방 #9-1번 문제는 End 속성값을 통해 풀 수 있는 문제이다. 현재 기초방에서는 최대한 셀 기반으로 문제를 풀어내고 있다. 다른 언어들은 셀기반이 아니고 배열 구조여서 이해하기가 처음엔 어려울수도 있는데, VBA는 내가 하나씩 찍어볼수 있어서 이차원배열과 일차원배열을 이해하는데 더할 나위 없이 좋다.. 할말이 없는데...참...나... 장인어른과 둘만 남아서 억지로 억지로 대화를 이어가는거 같다. 본인 코드에서 자주 등장하는 Cells(rows.count,"a").end(3)(2) 는 A열의 가장 아래에서 위로 컨트롤 윗 화살표를 했을 때 잡히는 셀에서 한칸 아래 부분을 말한다.. 만일 잡힌셀에서 두줄 내려온 영역.. 2023. 1. 5. 이전 1 ··· 19 20 21 22 23 24 다음