rand(life)
[VBA] 코드 모음9 - 셀,범위 선택 관련 본문
'[제목줄 제외하고 아래끝까지 범위 재설정]
With Rng
Set Rng = .Offset(1).Resize(.Rows.Count - 1, .Columns.Count)
End With
'[autofill 채우기]
날짜.AutoFill Destination:=날짜.Resize(15), Type:=xlFillWeekdays, '평일날짜로만 채움
' Type:=xlFillCopy '셀복사로 채움
'[한 셀 안의 문자열 중 일부만 첨자 및 색입히기]
With Range("A1").Characters(4, 6).Font '4~6번째 문자
.Superscript = True '위첨자
.Subscript = False '아래첨자
.Color = vbRed
End With
[범위중 두 번째 열 지정]
Set r = sht.Range("A1").CurrentRegion.Columns(2)
'
For Each c In r.Cells
'위와 같이 지정했을때는 for 구문뒤에 .cells 추가
'vbcr 다음줄로 줄바꿈
[replace]
sht.Cells.Replace what:=찾을내용, replacement:=바꿀내용
'cells =모든셀
[C2셀에서 데이터가 있는 오른쪽 끝까지 선택]
Activesheet.range("c2", cells(2,columns.count).end(1)).select
[데이터가 있는 끝행 설정법]
Set Rng = Worksheets("대상자목록").Range("a2:a" & Cells(Rows.Count, "A").End(3).Row)
[제목줄 하나만 있을때,도 포함하여 아래로 추가하는 법]
B2셀에 제목이 있다고 하면
Set rIni = wsI.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
rIni.Offset(0, -1).~~~~~
range.autofill (목적지셀범위, 타입)
타입으로 "원본이 날짜일때, 일,평일,월,년 단위로 채울 수 있다)
또는 숫자사이에 덧셈/배수 관계가 있는것으로 가정하고 채울 수 있다
(1,3,5를 끌어채우기하면 7,9,11... 이 채워질것 같지만 실제로는 그렇지 않다)
[보이는 셀만 선택]
specialcells(12).selection
255
worksheet_selectionChange 이벤트에서 선텍한 "셀이 특정범위 안에 있으면" 조건
if union(Target, rng).Address = rng.Address then
256
변경된 셀과 특정범위가 겹치는지의 조건
if intersect(Target, rng) is nothing then
'이벤트 프로시저에서 변경된 셀이 rng범위와 겹치지 않으면
지정범위 내의 전체 행선택ㄱ
set rng= range("a1:d10")
rng.entirerow.select
97
range.characters(s, l)
s위치부터 l 만큼의 길이만큼 문자선택
[자동필터 걸린 부분만 복사]
AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
field 필터를 걸 위치
criteria1 필터내용
visibledropdown : 화살표표시 (0=false, 1=true)
operator
xlAnd 1 논리곱
xlBottom10Items 4 하위 10개
xlBottom10Percent 6 하위10%
xlFilterCellColor 8 셀색깔
xlFilterDynamic 11 Dynamic filter
xlFilterFontColor 9 폰트색깔
xlFilterIcon 10 Filter icon
xlFilterValues 7 Filter values
xlOr 2 논리합
xlTop10Items 3 상위10개
xlTop10Percent 5 상위10퍼센트
With rngColumn
.AutoFilter 1, T, , , 0
.Offset(1, -3).Resize(.Rows.Count - 1, 2).Copy rng
.Offset(1).Resize(.Rows.Count - 1, 1).Copy rng.Offset(, 2)
.Offset(1, 2).Resize(.Rows.Count - 1, 2).Copy rng.Offset(, 3)
.AutoFilter
End With
End If
Next i
End Sub
[특정 행 제외하고 숨기기]
Sub Macro()
Dim rng As Range
Set btnButton = ActiveSheet.Buttons(Application.Caller) '프로서저를 호출한 단추 컨트롤 확인
strCaption = btnButton.Caption '버튼의 캡션을 변수에 할당
Application.ScreenUpdating = False
Select Case strCaption '버튼의 캡션에 따라 동작 결정
Case "Open"
Cells.EntireRow.Hidden = False '숨긴 열 보이기
btnButton.Caption = "Hiden" '버튼 캡션 바꾸기
Case "Hiden"
With Range("B4:B" & Cells(Rows.Count, 2).End(3).Row)
Set rng = .Find(Range("H3").Value, , , 1)
If Not rng Is Nothing Then
.EntireRow.Hidden = True '전체 열숨기기
.ColumnDifferences(rng).EntireRow.Hidden = False 'rng에 해당하는 행 보이기
End If
End With
btnButton.Caption = "Open" '버튼 캡션 바꾸기
End Select
End Sub