Excel & VBA---Brain Training
업무중에서 설문지를 만드는 부서들이 많이 있을것이다
종종 질문도 하고 의뢰도 하는 것중의 하나다
그런 부분에서도 엑셀은 많은 사람들을 편리하게 해준다
아래의 구문을 실행시키면
그림과 같이 만들어 진다
Sub fillList()
Dim iX As Integer, iY As Integer
Dim shtX As Worksheet
Dim rTarget As Range
Set shtX = Worksheets.Add
ActiveWindow.DisplayGridlines = False
Application.ScreenUpdating = False
With shtX.Range("B5")
With .Offset(-2)
.Value = "설문지 제목"
.Font.Size = 14
.Font.Bold = True
End With
For iX = 1 To 60 Step 2
Set rTarget = .Cells(iX, 1)
With rTarget
.Value = iX
.ColumnWidth = 3
.Offset(-1).RowHeight = 3.5
.Offset(, 1).Value = "Question - " & iX
.Offset(, 1).IndentLevel = 1
.Offset(, 1).ColumnWidth = 35
.Offset(, 2).Validation.Add _
xlValidateList, , , "1,2,3,4,5,6,7,8,9,10"
.Offset(, 2).ColumnWidth = 3
With .Resize(, 3)
.BorderAround xlSolid
.Borders(xlInsideVertical).LineStyle = xlSolid
End With
For iY = 1 To 20 Step 2
.Offset(, 3 + iY - 1).ColumnWidth = 0.31
With .Offset(, 3 + iY)
.ColumnWidth = 1.5
.BorderAround xlSolid
.Interior.ColorIndex = 15
End With
Next
End With
Next
.Offset(, 2).Select
Application.SendKeys "%{DOWN}"
Application.ScreenUpdating = True
End With
End Sub
아래와 같이 뚝딱..번개같이 만들어지고..
문제는 유효성검사 목록을 선택하면
오른쪽 회색부분에 선택된 갯수만큼 빨강색으로 칠해지기..
빨강색으로 하던..노랑색으로 하던..파랑색으로 하던..매 마찬가지..알아서 하시고
아래와 같이
위의 문제내용보다 답이 훨씬 코드가 간단할 것이다
주간강좌를 하지 않는 대신 될 수 있는한 문제만 보고 이해하려고
노력해도 프로그래밍의 감각이 커지도록 노력할 것이다
어..위의 설문 번호가 1,3,5,7,9로 부여되었네???!!
수정해 보시고..
해설화일에서는 위의 내용을 좀더 정리되고,최적화하게 될것이고..
Braintraining_054.