Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Druckbereich festlegen | Herbers Excel-Forum


Betrifft: Druckbereich festlegen von: Karsten
Geschrieben am: 14.12.2009 19:27:54

Hallo,

in folgendem Beispiel möchte ich per VBA den Druckbereich festlegen - von dem Datum in Zelle A3 bis zu dem Datum in A4 + Spalte rechts neben Spalte A.

https://www.herber.de/bbs/user/66593.xls

Danke für eine Lösung.

Gruß
Karsten

  

Betrifft: AW: Druckbereich festlegen von: Ewald
Geschrieben am: 14.12.2009 21:27:00

Falls ich die Frage richtig verstanden habe:
ActiveSheet.PageSetup.PrintArea = "$A$3:$B$4,$B$5:$B$65"
Gruss Ewald


  

Betrifft: AW: Druckbereich festlegen von: Karsten
Geschrieben am: 15.12.2009 09:00:49

Hallo Ewald,

danke, aber so meine ich es nicht.

Mit dem Makro ausblenden kann ich eine bestimmte Spalte neben Spalte A stellen, indem ich die nicht benötigten eben ausblende. Diese Spalte nebst Spalte A (A + Spalte daneben) sollte immer den Printbereich darstellen. Da ich aber nicht beiden Spalten in voller Länge relevant sind, möchte ich den Printbereich nochmal vertikal eingrenzen. In meinem Beispiel wäre es Zeile 18 (A3 = 12.01.2009) bis Zeile 43 (A4 = 06.02.2009).Der Printbereich verändert sich dann so, wie sich in A3 und A4 die Daten ändern.
Ob das zu machen geht?

Gruß
Karsten


  

Betrifft: AW: Druckbereich festlegen von: Ewald
Geschrieben am: 16.12.2009 14:49:28

Hallo Karsten,
war leider unterwegs.
Vielleicht geht es so:

Sub Druckbereich()
'
Dim zeile2 As Integer
Dim address1 As String
Dim address2 As String
Dim c As Object
Dim i As Integer
'*********
With Sheets("Tabelle1").Range("a7:a1000")
  Set c = .Find(Cells(3, 1), LookIn:=xlValues)
  If Not c Is Nothing Then
    address1 = c.Address
  Else
    MsgBox ("Datum aus Zelle " & Cells(3, 1).Address & " ist nicht vorhanden")
    Exit Sub
  End If
  Set c = .Find(Cells(4, 1), LookIn:=xlValues)
  If Not c Is Nothing Then
    zeile2 = c.Row
  Else
    MsgBox ("Datum aus Zelle " & Cells(4, 1).Address & " ist nicht vorhanden")
    Exit Sub
  End If
End With
'***********
For i = 2 To Sheets("Tabelle1").Columns.Count
  If Columns(i).EntireColumn.Hidden = False Then
    address2 = Cells(zeile2, i).Address
    Exit For
  End If
Next i
Worksheets("Tabelle1").PageSetup.PrintArea = address1 & ":" & address2
End Sub
Gruss Ewald


  

Betrifft: AW: Druckbereich festlegen von: Karsten
Geschrieben am: 18.12.2009 10:22:45

Hallo Ewald,

besten Dank. Es funktioniert. Wenn ich allerdings das Datumsformat ändere geht es nicht mehr.
In deinem Makro kann ich aber nichts über das Datumsformat finden?

Gruß
Karsten


  

Betrifft: AW: Druckbereich festlegen von: Tino
Geschrieben am: 18.12.2009 12:02:13

Hallo,
hier noch eine Version.

https://www.herber.de/bbs/user/66693.xls

Frohe Festtage wünscht TinoSmilies


  

Betrifft: AW: Druckbereich festlegen von: Ewald
Geschrieben am: 19.12.2009 14:05:35

Hallo Karsten,
eine Änderung des Datumsformats sollt keinen Einfluss haben.
Es sei denn, dass der Inhalt kein gültiges Datum ist.
Dafür kannst du ja noch eine Abfrage einfügen wie es Tino vorschlägt
Gruss Ewald


  

Betrifft: AW: Druckbereich festlegen von: Ewald
Geschrieben am: 19.12.2009 14:52:14

Hallo Karsten,
eine Änderung des Datumsformats sollt keinen Einfluss haben.
Es sei denn, dass der Inhalt kein gültiges Datum ist.
Dafür kannst du ja noch eine Abfrage einfügen wie es Tino vorschlägt
Gruss Ewald


Beiträge aus den Excel-Beispielen zum Thema "Druckbereich festlegen"