[VBA 기초] Selection 의 개념잡기
엑셀은 셀을 다루는 것이므로 셀에 대한 범위 지정 등을 잘 알아야 합니다.
마우스로 선택한 구간에서 구하고자 하는 값을 알기 위한 사항입니다.
Sub CountRows()
Dim rngCnt As Integer
Dim sRow As Integer
Dim eRow As Integer
Dim rngEnd As Range
rngCnt = Selection.Rows.Count '// 선택된 영역의 총 Row 수
sRow = Selection.Row '// 선택된 영역의 첫번째 행의 위치 반환
eRow = Selection.Row + Selection.Rows.Count - 1 '// 선택된 영역의 마지막 행 위치 반환
MsgBox "첫번째 행은 " & sRow
MsgBox "마지막 행은 " & eRow
MsgBox "전체 선택한 행의 수는 " & rngCnt
End Sub
그러면 이제 아래 내용이 무슨 의미를 알아봅시다
Dim h As Long, r As Long
r = Cells(Rows.Count, "B").End(xlUp).Row
값이 들어 있는 B열의 마지막셀을 찾아서 Row(행)의 값을 r 에 넣어라
'// Cells(Rows.Count, "B") 는 B열의 마지막 셀, 엑셀이 제공하는 마지막셀을 의미
'// Cells(Rows.Count, "B").End(xlUp) 은 Cells(Rows.Count, "B").End(3) 으로도 표기하며
'// B열의 마지막셀로부터 위(xlUp) 으로 올라와서 마지막 데이터가 있는 셀을 의미
n = Cells(Rows.Count, "B").End(xlUp).Column
값이 들어 있는 B열의 마지막셀을 찾아서 Column(열)의 값을 n 에 넣어라
Range("A10:B" & r) 의 의미는
A10 셀부터 B열의 마지막 값이 들어있는 셀까지의 범위
Range("A10:B" & Cells(Rows.Count,"B").End(3).Row)
또는 Range([A10], Cells(Rows.Count, "B").End(3)) 으로도 많이 사용합니다.
Selection.Borders().LineStyle=xlNone '//선택된 셀의 안쪽선을 없앰 |
Selection.Borders(xlEdgeBottom).LineStyle=xlNone '//선택된 셀의 아래쪽 테두리선을 없앰 |
Selection.Borders(xlEdgeHorizontal).LineStyle=xlNone '//선택된 셀의 안쪽 가로테두리선을 없앰 |
Selection.Borders(xlEdgeLeft).LineStyle=xlNone '//선택된 셀의 왼쪽 테두리선을 없앰 |
Selection.Borders(xlEdgeVertical).LineStyle=xlNone '//선택된 셀의 안쪽세로테두리선을 없앰 |
Selection.Clear '//선택된 영역의 내용과 서식을 모두 지움 |
Selection.ClearContents '//선택된 영역의 내용만 지움 |
Selection.ClearFormats '//선택된 영역의 서식만 지움 |
Selection.Columns '//선택된 열 |
Selection.Copy '//선택된 영역을 복사 |
Selection.EntireRow.Delete '//선택된 행을 삭제 |
Selection.Merge '//선택된영역을 병합 |
Selection.NumberFormat="0.00" '//선택된 셀을 소수점 둘째자리까지 표시 |
Selection.Rows '//선택된행 |
Selection.UnMerge '//선택된 영역을 병합해제 |
현재 커서가 있는 셀은 ActiveCell 입니다.
현재 커서가 있는 행 전체를 선택하는 것은 ActiveCell.EntireRow.Select 입니다.
앞에서부터 순차적으로 ActivCell 을 적어주고 전체 행인 EntireRow 를 적고 마지막으로 선택(Select)를 하면 됩니다.
어떤 의미인지 조금이나마 감이 잡히시나요?
댓글과 공감은 큰 힘이 됩니다
'업무 능력 향상 > 엑셀 VBA 입문' 카테고리의 다른 글
[VBA 기초] FOR NEXT 구문 (0) | 2014.01.06 |
---|---|
[VBA 기초] 기본 함수 IF문 알아보자 (2) | 2014.01.04 |
[VBA 기초] Range, Cell 의 개념 제대로 알아보자 (18) | 2014.01.01 |
[VBA 입문] Worksheet Object 의 이해 (0) | 2013.12.29 |
엑셀 VBA 가져다 활용하는 방법 (2) | 2013.12.21 |