티스토리 뷰

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 + remainder)

        

    Next

    

 

End Sub

 

Java버젼

 

먼저 char을 합쳐서 String으로 리턴하는 메소드를 만듭니다.

public class CA1 {
    public static String print(Character prefix) {
        // char는 1글자 밖에 안되므로 리턴은 String으로 합니다.
        String s = String.valueOf('A'); // char형의 'A'를 Stirng으로
        return prefix + s; // prefix와 char형의 s를 더해서 리턴
    }
    public static void main(String[] args) {
        System.out.println(print('A'));
    }
}

Result

AA

 

Recusive Call

public class CombinationAlphabet {
    public void printStrings(int n, String prefix) {
        if(n == 0){
            System.out.println(prefix);
        } else {
            for (int i = 0; i < 26; i++) {
                printStrings(n - 1, prefix + (char) (i + 65));
            }
        }
    }
    public static void main(String[] args) {
        CombinationAlphabet combinationAlphabet = new CombinationAlphabet();
        combinationAlphabet.printStrings(2, "");
    }
}

printStrings(2, "") 로 호출 하면 AA ~ ZZ까지 나오고 printStrings(3, "") 로 호출 하면 AAA ~ ZZZ까지 나옵니다.

 

아래와 같이 각 알파벳을 앞에 놓고 반복문을 재귀로 호출 합니다.

A A
B
C
D
E
F
...

 

B A
B
C
D
E
F
...

...

Z

A A
B
C
D
E
F
...

 

 

 

 

 

end.

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함