Excel & VBA---Brain Training
종종 한글로 된 정보를 정렬을 하고 싶거나 별도로
가다다 순으로 뽑아서 보고 싶은데 어떻게 하냐는 질문이 있다
아래의 구문을 실행하시면 그림과 같이 시트가 하나 생성되고
싱거운 데이타몇개와 버튼이 만들어진다
그리고 버튼에는 가,나,다...캡션이 넣어져있고
Const HANGUL As String = "가나다라마바사아자차카타파하"
Const HANGUL_1 As String = "꺅녕닭롬망뺚샥욹쟐춀캵탹표황"
Const HANGUL_2 As String = "강노돈로문박신윤장최칸탄표한"
Sub createDatasAndButton()
Dim iX As Integer, shtX As Worksheet, btnX As Button
Dim iStartX As Integer, iStartY As Integer, iSize As Integer
Dim shpX As Shape
Set shtX = Worksheets.Add
For iX = 1 To 500
shtX.Range("B3")(iX, 1) = getData
Next
iStartX = shtX.Range("B1").Left
iStartY = shtX.Range("B1").Top
iSize = 18
For Each shpX In shtX.Shapes
shpX.Delete
Next
For iX = 1 To 14
With shtX.Buttons.Add(iStartX + _
(iX - 1) * iSize, iStartY, iSize, iSize)
.Caption = Mid(HANGUL, iX, 1)
.OnAction = "filterThis"
End With
Next
End Sub
Function getData() As String
Dim sCh As String
Dim iX As Integer
For iX = 1 To 3
getData = getData & Mid(IIf(iX = 1, _
IIf(Int(Rnd() * 2) + 1 = 1, _
HANGUL_1, HANGUL_2), HANGUL), Int(Rnd() * 14) + 1, 1)
Next
End Function
위의 구문..버튼에 매크로연결구문..
.OnAction = "filterThis"
에서 filterThis 프로시져를 작성하여
각각의 버튼을 크릭하면 해당 자음으로 시작하는
정보만 뽑아서 옆의 범위에 옮기는 작업!!!
프로그래밍을 한다면 한번은 해보아야 할 문제다
Braintraining_053.