Formatierung von Excel-Blatt mit VBA
Was ich
Excel 2007-Arbeitsblätter.
Info im Bereich A1:C48 (fest) in mehrere Blätter in der gleichen Arbeitsmappe.
, Was ich brauche
Muss ich drucken Sie diese Auswahl in einem Brief Größe Papier mit normalen Margen.
Aber der Zustand ist bin ich verpflichtet zu passen, der die Breite der Auswahl also 3 Spalten auf 1 Seite.
Ich muss immer die Breite der Spalten konstant konstant zu halten Schriftgröße.
Ich möchte dies mit VBA.
Hier ist der code, den ich versuchte:
Sub printing()
Dim w1 As Single, w2 As Single, w3 As Single
Application.ScreenUpdating = False
w1 = 62
w2 = 24.71
w3 = 22.14
For i = 1 To ActiveWorkbook.Worksheets.Count
Worksheets(i).Activate
ActiveSheet.Columns(1).ColumnWidth = w1
ActiveSheet.Columns(2).ColumnWidth = w2
ActiveSheet.Columns(3).ColumnWidth = w3
ActiveSheet.Range("A1:C48").Select
With Worksheets(i).PageSetup
.PaperSize = xlPaperLetter
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.75)
.TopMargin = Application.InchesToPoints(1.5)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
End With
Next i
Application.ScreenUpdating = True
End Sub
Während diesem ändert sich die Größe der Spalten und setzt andere Eigenschaften der Seitenwechsel ist noch unberührt und wenn ich versuche, es zu drucken, Spalte 4 ist ebenfalls enthalten. Ich will nicht manuell ziehen Sie den Seitenumbruch aus als würde dieser die Größe der Zeichen. Ich würde es vorziehen, legen Sie die Spaltenbreiten so, dass es fit letter-Papier mit normalen Margen.
Ich würde wirklich schätzen, Anregungen.
InformationsquelleAutor Deepak | 2012-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich das richtig verstehe denke ich was du willst, ist die
PageSetup.PrintArea
Eigenschaft. Man könnte hinzufügen:Ihrem mit block.
Die ursprüngliche Frage, sagte, dass der Bereich A1:C48 fixiert war und, dass Sie sich in verschiedenen Arbeitsblättern. Also die Antwort auf die Frage richtig ist. Wenn Sie wollen, es zu tun in einem einzigen Arbeitsblatt anschauen, das Durchlaufen der verschiedenen Bereiche im Arbeitsblatt, die Einstellung der
PrintArea
- Eigenschaft, und dann senden Sie den DruckauftragPrintOut
Methode. Stellen Sie sicher, testen Sie, bevor Sie verlieren alle, dass das Papier!Ich bin traurig über die Fehler in der Frage, ich Art verwendet .PrintArea-Anregung , sofern ich meine eigene Schaltfläche für das Drucken im ribbon verwendet der Benutzer die Zellen-Auswahl zu erstellen, die PrintArea-und dann umleiten leiten Sie anschließend auf Druckvorschau. Danke Jungs...
InformationsquelleAutor sturgman