기본적으로 숫자와 문자가 섞여있는 데이터는 숫자도 문자로 인식하여 정렬을 하게되면
이런식으로 참 재미없게 정렬이 된다.
이를 해결하기 위해서는 앞의 숫자를 분리하여 그 분리된 숫자를 기준으로 정렬을 하면 된다.
파일명을 보면 숫자와 문자사이에 스페이스가 하나 있는데 이걸 기준으로 Split를 하면 된다.
Split는 배열 형태로 반환하기 때문에 배열로 받거나 아님 배열의 한 부분을 받으려면 index 번호를 넣어주면 된다.
더보기
Option Explicit
Sub Haja_Pdf_Page_Count()
Dim rngX As Range: Set rngX = [a2]
Dim rngAll As Range
Dim rngA As Range
If rngX = "" Then Exit Sub '= 파일명의 처음이 없다면 종료
Set rngAll = Range([a2], Cells(Rows.Count, "b").End(3)) '= 전체영역 설정
For Each rngA In rngAll.Columns(1).Cells '= 전체영역중 파일명의 cell들을 순환해랴
rngA(1, 2) = Split(rngA, " ")(0) '= 파일명을 스페이스로 나눠서 그 첫번째를
'= 파일순서 위치에 출력해라
Next rngA '= 모든 파일명을 순환 분리 하였다면
rngAll.Sort [b2], 1, Header:=xlYes '= 파일순서 기준으로 오름 차순 정렬
'= 참고로 2는 내림차순
End Sub
당연하겠지만 rngA(1,2) = split(rngA, " ")(1)을 하겠되면 파일순서 열에는 문자가 들어가게된다.
이는 크롤링을 할 때도 참 유용하게 사용되니 참고하길 바란다.
실제 실무에서 사용된 코드를 보면 오른쪽 정규식으로 도출된 Value값 imgs":["https:\u002f\u002f.......
에서 " :[ " 기준으로 인덱스 0은 imgs" 가 분리되고 인덱스 1은 "https:\u002.... 가 분리가 된다.
그럼 이 분리된 https의 url로 사진을 다운 받으면 되는것이다.
Url에서 사진을 다운받는 방법에 대해서는 앞서 공개한 자료들을 보시기 바란다.
다시 돌아와서 이렇게 분리된 파일순서로 정렬을 하게 되면 원하는 결과가 나오게 될것이다.
https://1stminokingdom.tistory.com/113
개인적으로는 URLmon방식을 선호한다.
'질문있어요' 카테고리의 다른 글
[VBA] 대량 데이터에서 부분합구하기 (2) | 2023.10.04 |
---|---|
[VBA] 이벤트를 통한 업무일지 업데이트 (2) | 2023.08.31 |
[질문] 폴더속 PDF 파일들의 총 페이지수 구하기 (10) | 2022.05.26 |
[콤보상자] 유효성 검사를 통한 발주서 업데이트 (3) | 2021.11.11 |
같은 날짜의 마지막행에 Correl(상관계수) 구하기 (0) | 2021.10.16 |
댓글