Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme m.Set rng = .range(.PageSetup.PrintArea)

Probleme m.Set rng = .range(.PageSetup.PrintArea)
15.08.2006 22:22:46
Peter
Hallo Josef oder Forum
Vorgestern habe ich diesen Code erhalten (und ich meinte auch, augestestet).
Nun habe ich das ganze in mein Workbook, in dem es dann laufen soll, eingebaut und kriege Probleme mit
Set rng = .Range(.PageSetup.PrintArea)
Die Methode „Range“ für das Objekt _Worksheet ist fehlgeschlagen (Laufzeitfehler 1004)
Für mich tönt das natürlich nach Bahnhof. Kann mir da jemand weiterhelfen?
Vielen Dank.
Peter
'

Sub AllesAusserDruckbereichLöschen()
Dim objWS As Worksheet
Dim rng As Range
Dim lngFirst As Long, lngLast As Long
Dim intFirst As Integer, intLast As Integer
'On Error GoTo ErrExit
GetMoreSpeed
For Each objWS In ThisWorkbook.Worksheets
With objWS
Set rng = .Range(.PageSetup.PrintArea)
If Not rng Is Nothing Then
If rng.Areas.Count = 1 Then
lngFirst = rng(1).Row
intFirst = rng(1).Column
lngLast = rng(rng.Count).Row
intLast = rng(rng.Count).Column
If lngLast < .Rows.Count Then .Range(.Cells(lngLast + 1, 1), .Cells(.Rows.Count, .Columns.Count)).Delete
If lngFirst > 1 Then .Range(.Cells(1, 1), .Cells(lngFirst - 1, .Columns.Count)).Delete
If intLast < .Columns.Count Then .Range(.Cells(1, intLast + 1), .Cells(.Rows.Count, .Columns.Count)).Delete
If intFirst > 1 Then .Range(.Cells(1, 1), .Cells(.Rows.Count, intFirst - 1)).Delete
End If
End If
End With
Next
ErrExit:
GetMoreSpeed 0
Set rng = Nothing
End Sub


Sub GetMoreSpeed(Optional ByVal Modus As Integer = 1)
Static lngCalc As Long
With Application
If Modus = 1 Then
lngCalc = .Calculation
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
.Calculation = -4135
.Cursor = xlWait
Else
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
.Calculation = IIf(lngCalc > 0, lngCalc, -4105)
.Cursor = xlDefault
End If
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme m.Set rng = .range(.PageSetup.PrintAr
15.08.2006 22:28:42
Josef
Hallo Peter!
Sorry, eine Unachtsamkeit.
Wenn kein Druckbereich festgelegt ist, kann natürlich kein Bereich definiert werden.
Sub AllesAusserDruckbereichLöschen()
Dim objWS As Worksheet
Dim rng As Range
Dim lngFirst As Long, lngLast As Long
Dim intFirst As Integer, intLast As Integer

On Error GoTo ErrExit

GetMoreSpeed

For Each objWS In ThisWorkbook.Worksheets
  
  With objWS
    
    If .PageSetup.PrintArea <> "" Then
      
      Set rng = .Range(.PageSetup.PrintArea)
      
      If Not rng Is Nothing Then
        
        If rng.Areas.Count = 1 Then
          
          lngFirst = rng(1).Row
          intFirst = rng(1).Column
          lngLast = rng(rng.Count).Row
          intLast = rng(rng.Count).Column
          
          If lngLast < .Rows.Count Then .Range(.Cells(lngLast + 1, 1), .Cells(.Rows.Count, .Columns.Count)).Delete
          If lngFirst > 1 Then .Range(.Cells(1, 1), .Cells(lngFirst - 1, .Columns.Count)).Delete
          If intLast < .Columns.Count Then .Range(.Cells(1, intLast + 1), .Cells(.Rows.Count, .Columns.Count)).Delete
          If intFirst > 1 Then .Range(.Cells(1, 1), .Cells(.Rows.Count, intFirst - 1)).Delete
          
        End If
        
      End If
      
    End If
    
  End With
  
Next

ErrExit:

GetMoreSpeed 0

Set rng = Nothing
End Sub


Gruß Sepp

Anzeige
AW: Probleme m.Set rng = .range(.PageSetup.PrintAr
15.08.2006 22:52:24
Peter
Hallo Sepp
Vielen Dank.
Jetzt klappts.
Peter
AW: Probleme m.Set rng = .range(.PageSetup.PrintAr
15.08.2006 22:30:20
Uduuh
Hallo,
vermutlich hast du Seiten ohne definierten Druckbereich in deiner Mappe. Da On Error... auskommentiert ist, gibt es einen Fehler.
Gruß aus’m Pott
Udo

AW: Probleme m.Set rng = .range(.PageSetup.PrintAr
15.08.2006 22:53:23
Peter
Hallo Udo
Es war wahrscheinlich so.
Mit der Ergänzung von Sepp hat's nun geklappt.
Gruss, Peter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige