VB(A)

영어문장 섞기

당근쨈 2015. 3. 18. 19:37

영어로 된 문장이 있고 이것을 섞는 사용자정의 함수이다.

간단하지만 변수가 의외로 많이 필요한 매크로


1. 문장에 있는 ,나 . 와 같은 특수문자를 없애고 배열에 넣는다.

2. 배열에 난수를 추가하여 섞는다.


Function jnWord(rngWord As StringAs String
 
    Dim cntArr As Integer
    Dim i As Integer, j As Integer
    Dim arrWord As Variant
    Dim temp As Variant
    
    '문장에 붙은 특수문자 제거
    rngWord = Replace(rngWord, ",""")
    rngWord = Replace(rngWord, ".""")
    
    '특수문자 제거한 문장을 분리하여 배열에 넣음
    arrWord = Split(rngWord, " ")
    
    '배열 섞기
    cntArr = UBound(arrWord) - LBound(arrWord) + 1
    
    For i = LBound(arrWord) To UBound(arrWord)
        j = Int(cntArr * Rnd + LBound(arrWord))
        
        If i <> j Then
            temp = arrWord(i)
            arrWord(i) = arrWord(j)
            arrWord(j) = temp
        End If
        
    Next i
    
    jnWord = Join(arrWord, " / ")
    
End Function
cs

+ 함수 실행 결과 +


scrambling.xlsm



'VB(A)' 카테고리의 다른 글

자동필터 - 거래명세표 작성  (0) 2015.03.21
화학식에서 C 의 원자의 합  (0) 2015.03.19
다른 파일의 차트를 불러와 정렬하기  (0) 2015.03.16
차트 생성 후 이미지 저장  (0) 2015.03.16
특정글자 색 바꾸기  (2) 2015.03.14