카테고리 없음
서식 만들기 자동화(VBA)
냐옹이.
2011. 11. 13. 06:37
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