Markierten Bereich drucken

Bild

Betrifft: Markierten Bereich drucken von: abdi
Geschrieben am: 12.04.2005 15:48:25

Hallo Zusammen,

sorry, wenn ich das hier doppelt schreibe, aber wie kann ich Sachen im Archiv erneut aktivieren??

So...meine Frage.

Möchte die Makierte Zelle drucken.
Den Inhalt der nichtmarkierten Zellen löschen.
Die Zelle soll dort gedruckt werden, als würde man das ganze Blatt drucken (also, Drucken-Markierten Bereich über Kontext-Menü-Drucken geht nicht)

Hier habe ich in den FAQ ein Start gefunden, aber der funktioniert nicht.


Sub BereichDrucken()
   Dim rng As Range
   Application.ScreenUpdating = False
   ActiveSheet.Copy
   For Each rng In Range("A1").CurrentRegion
      If rng.Interior.ColorIndex <> 6 Then 'Hier sollte stehen If rng."not"selectet (gibt´s sowas?)
         rng.ClearContents
      End If
   Next rng
   Cells.Borders.LineStyle = xlLineStyleNone
   ActiveSheet.PrintPreview
   ActiveWorkbook.Close savechanges:=False
   Application.ScreenUpdating = True
End Sub


Nochmals sorry, das das Thema nun doppelt ist.

Kann mir jemand helfen.

Danke

Gruß Abdi

Bild


Betrifft: AW: Markierten Bereich drucken von: IngoG
Geschrieben am: 12.04.2005 16:05:16

Hallo Abdi

versuch mal

if intersect(rng, selection)=nothing then

Gruß Ingo

PS eine Rückmeldung wäre nett...


Bild


Betrifft: AW: Markierten Bereich drucken von: abdi
Geschrieben am: 12.04.2005 16:10:04

Hallo Ingo.

nop..."Unzulässige Verwendung eines Objekts" kommt als Fehlermeldung


Bild


Betrifft: AW: Markierten Bereich drucken von: IngoG
Geschrieben am: 12.04.2005 16:59:51

Hallo abdi,

kleiner fingerfehler es muß heißen "is nothing"
Gruß Ingo

also im ganzen satz:

Sub BereichDrucken()
   Dim rng As Range
   Application.ScreenUpdating = False
   ActiveSheet.Copy
   For Each rng In Range("A1").CurrentRegion
      If rng.Interior.ColorIndex <> 6 Then
         If Intersect(rng, Selection) Is Nothing Then rng.ClearContents
      End If
   Next rng
   Cells.Borders.LineStyle = xlLineStyleNone
   ActiveSheet.PrintPreview
   ActiveWorkbook.Close savechanges:=False
   Application.ScreenUpdating = True
End Sub



Bild


Betrifft: Nein...druckt leider gesamte Seite von: abdi
Geschrieben am: 12.04.2005 17:53:26

Hallo Ingo.

Wieder nicht. :-(

Dieses Ergebnis habe ich nun auf jegliche Weise schon erziehlt.

Es wird die ganze Seite gedruckt.

Vielleicht noch ´ne Idee??

Gruß Abdi


Bild


Betrifft: AW: Nein...druckt leider gesamte Seite von: ingoG
Geschrieben am: 12.04.2005 18:12:56

Hallo nochmal,

hast Du denn überprüft, welcher bereich mit Range("A1").CurrentRegion abgedeckt ist.

am einfachsten gehst Du mal mit F8 durch das macro und schaust, was im einzelnen passiert...

oder du stellst einfach mal eine Beispielmappe ins netz...

gruß Ingo


Bild


Betrifft: AW: Nein...druckt leider gesamte Seite von: abdi
Geschrieben am: 12.04.2005 21:29:45

Hallo Ingo,

werde morgen früh gleich die Datei hier einstellen.

Gruß Abdi


Bild


Betrifft: AW: Markierten Bereich drucken von: abdi
Geschrieben am: 13.04.2005 12:34:46

Hallo Zusammen.

Habe es nun wie folgt gemacht.

In Zelle A1 bis A5 steht was. Spalte B ist leer. In Zelle C1 bis C5 steht wieder etwas.
Bei Markieren der Zelle A3 wird diese gedruckt, genau dort, wo sie auf dem Blatt stehen würde, wenn man alles druckt.

Sub BereichDrucken()
   Dim rng As Range
   Dim wks As Worksheet
   Application.ScreenUpdating = False
   ActiveSheet.Copy after:=Worksheets(Worksheets.Count)
   For Each rng In Range("B1").CurrentRegion.Cells
      If Intersect(rng, Selection) Is Nothing Then
      rng.ClearContents
      End If
   Next rng
   ActiveSheet.PrintPreview
   ActiveSheet.Delete 'savechanges:=False funktioniert leider nicht. Fehler "400"
   Application.ScreenUpdating = True
End Sub


Das einzige was mir noch nicht so gefällt ist, das man "händisch" das Blatt welches kopiert wurde löschen muss. Das "savechanges:=False funzt net so.

Gruß Abdi


Bild


Betrifft: AW: Markierten Bereich drucken von: abdi
Geschrieben am: 13.04.2005 12:36:46

Hallo Zusammen.

Habe es nun wie folgt gemacht.

In Zelle A1 bis A5 steht was. Spalte B ist leer. In Zelle C1 bis C5 steht wieder etwas.
Bei Markieren der Zelle A3 wird diese gedruckt, genau dort, wo sie auf dem Blatt stehen würde, wenn man alles druckt.

Sub BereichDrucken()
   Dim rng As Range
   Dim wks As Worksheet
   Application.ScreenUpdating = False
   ActiveSheet.Copy after:=Worksheets(Worksheets.Count)
   For Each rng In Range("B1").CurrentRegion.Cells
      If Intersect(rng, Selection) Is Nothing Then
      rng.ClearContents
      End If
   Next rng
   ActiveSheet.PrintPreview
   ActiveSheet.Delete 'savechanges:=False funktioniert leider nicht. Fehler "400"
   Application.ScreenUpdating = True
End Sub


Das einzige was mir noch nicht so gefällt ist, das man "händisch" das Blatt welches kopiert wurde löschen muss. Das "savechanges:=False funzt net so.

Gruß Abdi


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Markierten Bereich drucken"