muratgunay48
Altın Üye
- Katılım
- 10 Şubat 2010
- Mesajlar
- 1,474
- Excel Vers. ve Dili
- Office 365 - Türkçe (64 bit)
Arkadaşlar, sayın hocalarım, şöyle bir kod yazdım ama 5000'e kadar boş sayfaları da alıyor. Hatam nerede acaba?
Şimdiden teşekkür ederim.
Saygılarımla.
Şimdiden teşekkür ederim.
Saygılarımla.
Kod:
Sub donusturme()
'Sayfa seç
Worksheets("Tümü").Activate
'Saütunları sil
Columns("A:A").Delete
Columns("H:M").Delete
'Satırları sil
Rows("1:1").Delete
'Satır yüksekliği
'Cells.RowHeight = 15 'Tüm sayfa
Rows("1:1").RowHeight = 30
Rows("2:5000").RowHeight = 15
'Satırları dikey ortala
Cells.VerticalAlignment = xlCenter
'Satırı yatay ortala
Range("A1:G1").HorizontalAlignment = xlCenter
'Satır punto büyüklüğü
Rows("1:1").Font.Size = 14
'Sütun genişlikleri
Columns("A:A").ColumnWidth = 4
Columns("B:B").ColumnWidth = 14
Columns("C:C").ColumnWidth = 13
Columns("D:D").ColumnWidth = 8
Columns("E:E").ColumnWidth = 20
Columns("F:F").ColumnWidth = 50
Columns("G:G").ColumnWidth = 20
'Sütun yatay ortala
Columns("A:A").HorizontalAlignment = xlCenter
Columns("B:B").HorizontalAlignment = xlCenter
Columns("C:C").HorizontalAlignment = xlCenter
Columns("D:D").HorizontalAlignment = xlCenter
'Sütun hücre taşmasın (doldur)
Range("G2:G5000").Select
With Selection
.HorizontalAlignment = xlFill
.VerticalAlignment = xlCenter
End With
'Sayfa yapısı
Dim ws As Worksheet
Set ws = ActiveSheet
With ws.PageSetup
.LeftMargin = Application.CentimetersToPoints(1.5) ' Sol boşluk
.RightMargin = Application.CentimetersToPoints(1.5) ' Sağ boşluk
.TopMargin = Application.CentimetersToPoints(2) ' Üst boşluk
.BottomMargin = Application.CentimetersToPoints(2) ' Alt boşluk
.HeaderMargin = Application.CentimetersToPoints(0) ' Üstbilgi
.FooterMargin = Application.CentimetersToPoints(0) ' Altbilgi
.CenterHorizontally = True ' Yatay ortala
.CenterVertically = True ' Dikey ortala
'.Orientation = xlLandscape ' Yatay sayfa (xlPortrait = Dikey)
.PaperSize = xlPaperA4 ' A4 kağıt boyutu
End With
'Boş sayfaları sil
Application.DisplayAlerts = False 'Uyarı mesajlarını kapat
For Each ws In Worksheets
'Sayfada veri olup olmadığını kontrol et
If Application.WorksheetFunction.CountA(ws.UsedRange) = 0 And ws.UsedRange.Cells.Count = 1 Then
ws.Delete
End If
Next ws
Application.DisplayAlerts = True 'Uyarı mesajlarını aç
End Sub
