Notice
Recent Posts
Recent Comments
rand(life)
[엑셀-VBA] 문자열 단위로 비교하여 색글 표시 본문
원래 VBA는 어려워서 다루지 않으려고 했는데, 어느 분께서 이런 질문을 하신게 계기가 되어 VBA를 공부하고 있습니다. ^^
약간 생각해보니, 함수를 사용하면 힘들겠지만, VBA를 사용하면 될 것 같았습니다. 하지만 VBA까지 다룰 여유가 없었기에 차일피일 미루다가 잠이 안 오는 오늘밤, 문득 생각이 나서 만들어 보았습니다.
지금처럼, A열에 해당 철자들을 늘어놓고 C2셀에 문장을 쓴 다음 "확인"키를 클릭하면
지금처럼 A열에 있는 철자에 색깔이 표시되는 것입니다.
코드는 다음과 같습니다.
Sub strfin()
Dim i, k As Integer
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
For k = 1 To Len(ActiveCell)
For Each i In Range("a2").CurrentRegion
If i.Value Like Mid(ActiveCell.Text, k, 1) Then
ActiveCell.Characters(Start:=k, Length:=1).Font.Color = -16776961
End If
Next i
Next k
ActiveCell.Offset(1, -1).Select
End Sub
내가 어떤 문장을 쓰면, 그 문장 중에서 해당 철자가 들어가 있는지 확인할 수 있도록 문장에 들어있는 각 글자마다 색을 입힐 수 있을까?
약간 생각해보니, 함수를 사용하면 힘들겠지만, VBA를 사용하면 될 것 같았습니다. 하지만 VBA까지 다룰 여유가 없었기에 차일피일 미루다가 잠이 안 오는 오늘밤, 문득 생각이 나서 만들어 보았습니다.
지금처럼, A열에 해당 철자들을 늘어놓고 C2셀에 문장을 쓴 다음 "확인"키를 클릭하면
지금처럼 A열에 있는 철자에 색깔이 표시되는 것입니다.
코드는 다음과 같습니다.
Sub strfin()
Dim i, k As Integer
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
For k = 1 To Len(ActiveCell)
For Each i In Range("a2").CurrentRegion
If i.Value Like Mid(ActiveCell.Text, k, 1) Then
ActiveCell.Characters(Start:=k, Length:=1).Font.Color = -16776961
End If
Next i
Next k
ActiveCell.Offset(1, -1).Select
End Sub