목록2018/06 (3)
rand(life)
지식인 질문에 대한 답"한 시트에 여러 페이지가 있는데, 각 페이지를 별개의 시트로 나누는 방법"에 대한 문의였다. HpageBreak가 페이지 나누기니까, 그것을 기준으로 순환문을 돌리면 된다고 간단히 생각해서, 답변을 주려고 했는데예제 파일을 보니 시트 안에 글자만 있는 것이 아니라 도형과 차트들이 들어있었다문제는, 도형과 차트는 시트 복사를 하면 문자처럼 자동으로 같이 따라 오는 것이 아니라각 개체별로 따로 복사해서 위치를 조정해주어야한다는 점이었다. 그래서 작업의 순서를 다음과 같이 잡았다 1. 페이지나누기 갯수대로 원본시트복사하기2. 해당 각 페이지의 범위 설정 (eg. 2페이지는 15행~30행)3. 범위에 들지 않는 페이지는 삭제 (2페이지가 아닌 1~14, 31~끝은 삭제)4. 원본 시트에서..
지난 번에 쓴 글과 비슷한 내용인데 A처럼 되어있는 것을 B와 C열로 분리하는 작업이다. Option Explicit Sub macro()Dim r As RangeDim lc As LongDim s As StringDim bl As Boolean For Each r In Range("A1").EntireColumn.SpecialCells(2) Do lc = lc + 1 s = Mid(r, lc, 1) If Asc(s) = 32 Then bl = False ElseIf Asc(s) 122 Then bl = True End If Loop Until bl = True r(, 2) = Left(r, lc - 1) r(, 3) = Mid(r, lc) lc = 1 bl = False ..
예를 들어 아래와 같이 셀 하나에 한글, 영어가 이어서 나오는 경우, 한글은 지우고 영어만 남기려고 할때 값비싼, 일류의, 화려한 expensive, popular, and fashionable 영어 소문자의 아스키코드는 97에서 122까지라는 점을 이용한 방법이다. (출저: https://blog.naver.com/dowahn/130172409926) replace 함수도 이용했다. 워크시트함수의 replace나 '찾기바꾸기'의 replace와 약간 다르니 주의할 필요가 있다.replace(문자열, 찾을문자, 바꿀문자, 시작위치, 문자의길이) Sub checkhangul()Dim r As Range, intAsc As Long, sAll As String, i As LongFor Each r In Ra..