8월 5 2015
엑셀(EXCEL) – VBA, OptionButton을 이용한 책갈피 기능 사용
내일이 휴가인데 요사이 경기가 좋지않아 현장직 사원분들은 강제로 오늘부터 휴무에 들어가서
사무직 직원들만 출근했는데 협력 업체 대부분도 휴가 중이고 공장은 돌아가지 않으니 사무실이
적막강산이고 월급루팡 하는 중에 아질게에 아래 질문이 올라와 그냥 뚝딱뚝딱 만들어 봤습니다.
http://www.clien.net/cs2/bbs/board.php?bo_table=kin&wr_id=3499667
그냥 질문의 내용을 간단히 해석하면 책갈피 기능을 원한다는 말씀 같아서 그렇게 만들었습니다.
내용은 아주 간단합니다.
엑셀 > 보기에 첫행 고정으로 틀고정 하시고 책갈피를 원하는 수만큼 OptionButton을 만듭니다.
(개발도구, 디자인모드로 선택하시고 옆의 삽입에서 AcitveX Control의 Optionbutton을 선택합니다)
개발도구에서 Visual Basic을 선택하시고 들어가 Sheet1을 더블 클릭하시고 아래를 복사합니다.
Option Explicit
Private Sub Move_Active_Cell()
Worksheets(“Sheet1”).Activate
Select Case True
Case OptionButton1.Value
Worksheets(“Sheet1”).Range(“A20”).Select
ActiveCell.Interior.ColorIndex = 1
Case OptionButton2.Value
Worksheets(“Sheet1”).Range(“A50”).Select
ActiveCell.Interior.ColorIndex = 3
Case OptionButton3.Value
Worksheets(“Sheet1”).Range(“A70”).Select
ActiveCell.Interior.ColorIndex = 4
Case OptionButton4.Value
Worksheets(“Sheet1”).Range(“A90”).Select
ActiveCell.Interior.ColorIndex = 5
Case OptionButton5.Value
Worksheets(“Sheet1”).Range(“A110”).Select
ActiveCell.Interior.ColorIndex = 5
End Select
End Sub
Private Sub OptionButton1_Click()
Call Move_Active_Cell
End Sub
Private Sub OptionButton2_Click()
Call Move_Active_Cell
End Sub
Private Sub OptionButton3_Click()
Call Move_Active_Cell
End Sub
Private Sub OptionButton4_Click()
Call Move_Active_Cell
End Sub
Private Sub OptionButton5_Click()
Call Move_Active_Cell
End Sub
소스는 그냥 간단하게 버튼이 눌러질 때마다 함수를 호출에서 참 값인 OptionButton의 명령을 실행합니다.
이렇게 하면 버튼이 늘어도 함수만 수정해 주면 되기 때문에 확장과 수정이 편리한 면이 있습니다. 추가로
함수에 위치에 따라 색상이 달라지도록 할 수도 있지요. 책갈피의 기능이기때문에 그 위치는 이동만 하고
나머지 셀에서 데이터를 운용하도록 합니다. 우리가 흔히 책갈피의 색을 다르게 끼우는 것처럼 말입니다.
도움이 되었으면 하네요.
엑셀 자료 : 20150805-선택적 이동(책갈피)
8월 25 2015
엑셀(EXCEL) – 글꼴이나 글자색이 다른 것을 조건으로 셀 카운팅
제 15호 태풍 고니가 올라와 사무실 바깥 유리창에 비와 바람을 뿌리고
오늘로 예정되었던 협력 회사 Audit는 태풍으로 인해 비행기가 연착되어
내일로 미뤄져서 심심해서 아질게에 올라온 질문 풀이를 시작하였습니다.
http://www.clien.net/cs2/bbs/board.php?bo_table=kin&wr_id=3507316
(글꼴이나 글자색이 다른 것을 조건으로 카운팅 가능한가요?)
Option Explicit
Sub Count_Special_Cell()
Dim cell_cnt As Integer
Dim RngCel As Range
Dim RngFont As Range
Dim RngRef As Range
cell_cnt = 0
‘ 검색할 영역 설정
Set RngRef = Range(“A1”, Range(“C1”).End(xlDown))
‘ 검색할 셀의 조건을 셀을 클릭해서 선택
Set RngFont = Application.InputBox(“셀 선택”, , Type:=8)
‘ 영역을 선택했을 때 에러 처리
If RngFont.Cells.Count > 1 Then
MsgBox “유효하지 않은 셀이므로 다시 선택하세요”
Exit Sub
End If
‘ 검색할 영역에서 선택된 셀과 같은 조건이 있으면 카운트
For Each RngCel In RngRef
If RngCel.Font.Color = RngFont.Font.Color And RngCel.Font.Bold = True _
And RngCel.Font.Underline = xlUnderlineStyleSingle Then
cell_cnt = cell_cnt + 1
End If
Next
‘ 검색된 셀의 갯수를 보여줌
MsgBox cell_cnt
End Sub
위 내용을 해석하면 선택된 셀의 컬러와 Bold, Underline(Single Line)과 값이 같으면
카운터를 세어서 보여주는 것입니다.
첨부 화일 : 20150825-셀 스타일별 카운트
By vinipapa • 무른모 • 0 • Tags: 셀 조건으로 카운팅, 엑셀, 팁