Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

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.