| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 맞춤법
- VMware
- KBS한국어능력시험
- Hirano Aya
- synology
- 리눅스
- KBS
- 파이어폭스
- Okazaki Ritsuko
- 프로그램
- 한국어
- 오카자키 리츠코
- MFC
- Microsoft
- 자바스크립트
- Firefox
- USB메모리
- 岡崎律子
- 윈도우즈
- gentoo
- 백업
- 平野綾
- 마비노기
- vbscript
- youtube
- php
- xml
- 프린터
- 옥션
- 벤치마크
Archives
- Today
- Total
ARCHIVE ...
서식 만들기 자동화(VBA) 본문
personal.xlsb에 코드를 넣으면 모든 엑셀 파일에서 아래 메크로를 사용할 수 있다.
Sub 출입기록_서식_만들기()
'
' 출입시간 위반자 프린트하기 위한 레이아웃 자동 설정.
'
레코드수 = Sheets(1).Range("A1").CurrentRegion.Rows.Count
' 시간 순으로 정렬
Range("A2").Select
With ActiveWorkbook.Worksheets(1).Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A2:G" & 레코드수)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' 관리동 레코드 삭제
For i = 레코드수 To 1 Step -1
If Left(Sheets(1).Cells(i, 6), 3) = "관리동" Or Left(Sheets(1).Cells(i, 7), 5) = "미등록카드" Then
Rows(i).Delete
End If
Next
' 첫번째 열 가운데 정렬
Rows("1:1").HorizontalAlignment = xlCenter
' 첫째 열 날짜/시간 포멧 조정
Columns("A:A").NumberFormatLocal = "m""/""d h:mm;@"
' 열 너비 조정
Columns("G:G").ColumnWidth = 12 ' 출입 내역
Columns("F:F").ColumnWidth = 12.25 ' 출입자 동, 층, 호
Columns("E:E").EntireColumn.AutoFit ' 카드 번호
Columns("D:D").EntireColumn.AutoFit ' 출입 자명
Columns("C:C").EntireColumn.AutoFit ' 기기 위치
Columns("A:A").EntireColumn.AutoFit ' 시간
' 프린트 레이아웃
Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1:G1").Select
Selection.Merge
ActiveCell.FormulaR1C1 = "출입시간 위반자 명단"
Range("A1:G1").Select
Selection.Font.Bold = True
Selection.Font.Size = 14
Selection.HorizontalAlignment = xlCenter
Rows("1:1").RowHeight = 26.25
With ActiveSheet.PageSetup
.CenterFooter = "&P / &N"
.PrintTitleRows = "$2:$2"
' 여백 설정
.LeftMargin = Application.InchesToPoints(0.7)
.RightMargin = Application.InchesToPoints(0.7)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.6)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
End With
End Sub
Sub 무료_시트_레이아웃()
'
' 월별 출입카드 발급 내역 무료시트 칼럼 너비 설정.
'
Columns("A:A").ColumnWidth = 6.13
Columns("B:B").ColumnWidth = 8.38
Columns("C:C").ColumnWidth = 6.5
Columns("D:D").ColumnWidth = 10.38
Columns("E:E").ColumnWidth = 10.38
Columns("F:F").ColumnWidth = 7
Columns("G:G").ColumnWidth = 26.88
End Sub
Sub 유료_시트_레이아웃()
'
' 월별 출입카드 발급 내역 유료시트 칼럼 너비 설정.
'
Columns("A:A").ColumnWidth = 6.13
Columns("B:B").ColumnWidth = 8.25
Columns("C:C").ColumnWidth = 6.5
Columns("D:D").ColumnWidth = 7.25
Columns("E:E").ColumnWidth = 8.38
Columns("F:F").ColumnWidth = 6.5
Columns("G:G").ColumnWidth = 7.5
Columns("H:H").ColumnWidth = 24.25
End Sub
Comments