rand(life)
[엑셀Q&A,VBA] 같은 조건의 문자열 찾아 합치기 4 본문
이전에 쓴 글에 어느 분이 답글을 주셨습니다.
혹시 저 과목들을 몇개 단위로끊어서 쓸수 있을까요?
예를 들면 5개 과목을 쓰면 줄을 바꾸거나 셀을 아래로 삽입하여 작성하는 게 가능할까요?
그래서 만들어보았습니다.
Function ConcatText(ByVal 범위 As Range, 구분 As String) As String
Dim strTemp() As String
Dim rng As Range
Dim a As String
Dim cr As Integer
Dim k As Integer
Dim i As Integer
For Each rng In 범위
If rng = 구분 Then
ReDim Preserve strTemp(i)
If rng.Offset(0, 2).Value > 2 Then
strTemp(i) = rng.Next.Value
i = i + 1
End If
End If
Next rng
a = Join(strTemp, " / ")
cr = 1
Do Until k = 5
cr = InStr(cr + 1, a, "/") ' / 라는 기호가 나오는 위치 찾기
k = k + 1 ' /라는 기호가 올때, 즉 과목이 달라질때 갯수 세기.
'다섯번째 /가 나오면 다섯번째 과목이므로 다음줄로 넘긴다
Loop
ConcatText = Mid(a, 1, cr) & vbLf & Mid(a, cr, Len(a)) '다음줄로 넘기는 기호는 vbLf 이다 '
End Function
다섯과목이 되면 다음줄로 넘어가게 했습니다.
열과목이 되면 또 다음줄로 넘어가게 할 수도 잇겠지요
저 다음에 한번더 Loop를 돌려서 10번째 / 기호가 나오는 위치를 찾는 코드를 집어넣으면....
하지만 그것까지는 필요가 없을듯하여, 패스합니다.