Microsoft Excel

Herbers Excel/VBA-Archiv

Druckbereich auf Spalte A:B eingeschränken | Herbers Excel-Forum


Betrifft: Druckbereich auf Spalte A:B eingeschränken von: Karsten
Geschrieben am: 19.12.2009 16:46:46

Hallo,

Tino hat mir mit folgendem Code weitergeholfen, für den ich mich noch hiermit bedanken möchte.
Nun würde ich gern den Druckbereich auf Spalte A:B eingeschränkt haben. Der Code sollte auch nur durchlaufen werden, wenn A3 oder A4 bestätigt worden sind.

Wenn mir jemand in dieser Sache behilflich sein könnte?...Danke.

Gruß
Karsten

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vRowVon, vRowBis
Dim Korrktur&

If Intersect(Range("A3:A4"), Target) Is Nothing Then Exit Sub

If IsDate(Range("A3")) And IsDate(Range("A4")) Then
 vRowVon = Application.Match(Range("A3").Value2, Range("A7", Cells(Rows.Count, 1)), 0)
 vRowBis = Application.Match(Range("A4").Value2, Range("A7", Cells(Rows.Count, 1)), 0)
End If


If IsNumeric(vRowVon) And IsNumeric(vRowBis) Then
    With ActiveSheet
        Korrktur& = 7 - .UsedRange.Cells(1, 1).Row
        .PageSetup.PrintArea = _
        .Range(.UsedRange.Rows(vRowVon + Korrktur), .UsedRange.Rows(vRowBis + Korrktur)). _
Address
    End With
Else
    ActiveSheet.PageSetup.PrintArea = ""
End If
End Sub

  

Betrifft: AW: Druckbereich auf Spalte A:B eingeschränken von: Tino
Geschrieben am: 19.12.2009 17:06:12

Hallo,
versuche es mal mit dieser Anpassung.


Private Sub Worksheet_Change(ByVal Target As Range)
Dim vRowVon, vRowBis
Dim Korrktur&

If Intersect(Range("A3:A4"), Target) Is Nothing Then Exit Sub

If IsDate(Range("A3")) And IsDate(Range("A4")) Then
 vRowVon = Application.Match(Range("A3").Value2, Range("A7", Cells(Rows.Count, 1)), 0)
 vRowBis = Application.Match(Range("A4").Value2, Range("A7", Cells(Rows.Count, 1)), 0)
End If


If IsNumeric(vRowVon) And IsNumeric(vRowBis) Then
    With ActiveSheet
        Korrktur& = 7 - .UsedRange.Cells(1, 1).Row
        With .Range(.UsedRange.Rows(vRowVon + Korrktur), .UsedRange.Rows(vRowBis + Korrktur))
            ActiveSheet.PageSetup.PrintArea = Range(.Columns(1), .Columns(2)).Address
        End With
    End With
Else
    ActiveSheet.PageSetup.PrintArea = ""
End If
End Sub
Gruß Tino


  

Betrifft: AW: Druckbereich auf Spalte A:B eingeschränken von: Karsten
Geschrieben am: 19.12.2009 18:53:36

Hallo Tino,

danke. Nur mit:
If Intersect(Range("A3:A4"), Target) Is Nothing Then

ging es nicht. Ich hab:
If Target = Range("a3") Or Target = Range("a4") Then

drausgemacht und unten else geschrieben. Klappt.

Gruß
Karsten


  

Betrifft: AW: Druckbereich auf Spalte A:B eingeschränken von: Tino
Geschrieben am: 19.12.2009 19:10:20

Hallo,
kann ich zwar nicht nachvollziehen auch nicht unter Version XP.
Druckbereich soll festgelegt werden wenn in A3 oder A4 etwas eingegeben wird.

Ist aber egal erlaubt ist was funktioniert.

Gruß Tino


  

Betrifft: AW: Druckbereich auf Spalte A:B eingeschränken von: Karsten
Geschrieben am: 21.12.2009 12:17:35

Hallo Tino,

es geht doch noch nicht, auch nicht mit meinen Abänderungen.
Ich habe nochmal eine neue Anfrage mit meiner Beispieldatei gestellt.

Gruß
Karsten


  

Betrifft: habe hier die Antwort geschrieben… von: Tino
Geschrieben am: 21.12.2009 12:40:15

Hallo,

https://www.herber.de/forum/archiv/1124to1128/t1125312.htm

Gruß Tino


Beiträge aus den Excel-Beispielen zum Thema "Druckbereich auf Spalte A:B eingeschränken"