본문 바로가기

Excel VBA/VBA 예제

(29)
vba 숫자를 영문자로 바꾸기 결론부터 말하면 Chr() 함수를 쓰면 된다. 대문자 A는 chr(65)소문자 a는 chr(97)이다. 아래 코드를 실행하면Sub test_chr() For i = 1 To 200 Range("a" & i).Value = Chr(i) NextEnd Sub 아래와 같이 나온다. end.
Excel VBA 알파벳 aa to az까지 만들기 Excel VBA 알파벳 aa to az까지 만들기 aa ~ az 까지 만들 일이 있어서 한번 만들어 봤다. 화면은 위와 같다 소스코드는 아래와 같다Sub filedName() init = 1 unit = 26 min_row = 2 max_row = unit * unit For i = 0 To max_row alphabet_start = 97 remainder = i Mod unit code = alphabet_start + remainder Range("a" & i + 2).Value = Chr(alphabet_start + Application.WorksheetFunction.RoundDown(i / unit, 0)) Range("b" & i + 2).Value = Chr(alphabet_start ..
VBA 별 찍기 예제 VBA 별 찍기 예제 별 찍는 알고리즘은 실제 업무에서 쓸일이 없어보이긴 하지만 제어문을 배우는 괜찮은 방법중 하나인 것 같다. 위와 같은 별을 엑셀로 찍어볼 것이다. 소소코드는 매우 간단한다. Sub printStar() number_of_stars = 10 For i = 1 To number_of_stars For j = 1 To i Range("a" & i).Value = Range("a" & i).Value + "*" Next Next End Sub end.
Excel VBA 예제 - Range를 이용하여 가로로 Loop 돌리기 Range를 이용하여 가로로 Loop 돌리기 Range("A" & i)를 이용하면 세로로 loop를 돌릴 수 있었다. 허나 가로로 하고자 하면 A B C D 이렇게 알파벳으로 나오고, 알파벳을 유니 코드와 대응을 해서 돌리는 방법도 있지만 조금만 열이 많아져도 AA, AB, AC, AXA, AXB 이런식으로 나오기 때문에 애로사항이 있었다. 그걸 해결한 코드이다. 잘 응용해서 사용해 보시기 바란다. Sub horizonLoop() For i = 1 To 20 Range(Cells(1, i), Cells(1, i)).Value = i Next End Sub Range에 2개의 parameter(매개변수)를 주면 앞에 주소부터 뒤에 주소까지 선택이 되는 것을 응용한 것이다. 앞에 셀과 현재 셀을 같게 주면 ..
Excel VBA 예제 - 시트1부터 시트n까지 특정 범위 복사해서 출력하기 * Print이용하기시트1부터 시트n까지 특정 범위 복사해서 출력하는 것을 해보자. 1월 14일 해외에서 근무하시는 분으로부터 아래와 같은 질문을 받았다."쉬트 1번, 2번에 데이터들을 쉬트 3번으로 차례로 불러와서 인쇄를 한장한장 하려고 하면 어덯게 해야할지 고민입니다. 예를 들어 쉬트 1번의 데이터가 1 강아지 2 멍멍이 3 고양이 4 야옹이 이고 쉬트 2번의 데이터가 1 철이 2 순이 3 영희 4 명희 이라면 쉬트3번에 "(쉬트1)"는 "(쉬트2)" 의 친구 입니다. 를 1번부터 차례대로 4장을 인쇄할수 있을까요 ?"라고. 해결 방법을 알려 드렸다."방법은 아래와 같습니다. range를 이용해서 선택해서 복사 한 후 print 메소드를 이용해 출력하면 됩니다. 여러 시트를 하셔야 하므로 for ne..