Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1240to1244
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
Inhaltsverzeichnis

Druckbereich erweitern funktionert nicht mehr

Druckbereich erweitern funktionert nicht mehr
Raphael
Hallo zusammen,
folgendes Problem besteht seit dem Umstieg von Excel 2003 zu Excel 2010:
Ich habe auf einem Tabellenblatt verschiedene Druckbereiche die ich in einem Makro variabel zusammenfüge.
Mit Excel 2003 funktionierte es einwandfrei.
Bei Excel 2010 werden drei Druckbereiche zusammenfügen und erhalte dann beim nächsten Aufruf folgende Fehlermeldung. Sobald alte PrintArea & neue PrintArea zugewiesen werden sollen.
Fehlermeldung: "Die eingebene Formel enthält einen Fehler"
Dies ist der Code bei dem der Fehlerauftritt:
'Die Variablen wären iPosition As Range, WS_Ziel As Worksheet,
'Druckbereich erweitern Excel 2003 i.O. Excel 2010 Fehler (Auszug aus dem Makro)
If WS_Ziel.PageSetup.PrintArea = "" Then
WS_Ziel.PageSetup.PrintArea = WS_Ziel.Range(iPosition, iPosition.Offset(48, 28)).Address
Else
WS_Ziel.PageSetup.PrintArea = WS_Ziel.PageSetup.PrintArea & "," & WS_Ziel.Range(iPosition, iPosition.Offset(48, 28)).Address
End If
Dies wären die ersten Druckbereiche:
$A$1:$AC$50
$AD$1:$BF$50
$A$51:$AC$100
$AD$51:$BF$100
$A$101:$AC$150
$AD$101:$BF$150
usw
Ich hoffe mir kann hierbei jemand helfen.
mfg Raphael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Druckbereich erweitern funktionert nicht mehr
20.12.2011 19:40:19
Luschi
Hallo Raphael,
bei mir klappt das in Excel 2003 und in 2010. Hier mein Vba-Code:

Sub test_Druckbereich()
Dim iPosition As Range, WS_Ziel As Worksheet
Dim s As String, s2 As String, myArr() As String, i1 As Integer, i2 As Integer
'$A$1:$AC$50
'$AD$1:$BF$50
'    $A$51:$AC$100   - werden zu einem Bereich
'    $AD$51:$BF$100  - zusammengefaßt
'$A$101:$AC$150
'$AD$101:$BF$150
s = "$A$1-$AD$1-$A$51-$AD$51-$A$101-$AD$101"
myArr = Split(s, "-", -1, 1)
i2 = UBound(myArr())
Set WS_Ziel = ActiveSheet
WS_Ziel.PageSetup.PrintArea = ""
s2 = ""
For i1 = LBound(myArr()) To i2
Set iPosition = WS_Ziel.Range(myArr(i1))
'Druckbereich erweitern Excel 2003 i.O. Excel 2010 Fehler (Auszug aus dem Makro)
'Debug.Print WS_Ziel.Range(iPosition, iPosition.Offset(48, 28)).Address
If "" = s2 Then
s2 = WS_Ziel.Range(iPosition, iPosition.Offset(48, 28)).Address
Else
s2 = s2 & "," & WS_Ziel.Range(iPosition, iPosition.Offset(48, 28)).Address
End If
Next i1
MsgBox s2
Debug.Print s2
WS_Ziel.PageSetup.PrintArea = s2
MsgBox WS_Ziel.PageSetup.PrintArea
Debug.Print WS_Ziel.PageSetup.PrintArea
Set WS_Ziel = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Druckbereich erweitern funktionert nicht mehr
21.12.2011 23:55:09
Raphael
Hallo Luschi,
leider kann ich deine Lösung so nicht umsetzen. Ich füge immer nur einen Bereich hinzu und nutze dieses Makro durcheinander für verschiedene Tabellenblätter, somit kann ich kein Array bilden. Ich könnte nur mit viel Aufwand für jedes Tabellenblatt die Array zwischenspeichern.
Was ich halt nicht ganz verstehe, warum Excel 2010 und Excel 2003 den Code unterschiedlich behandeln.
Ich habe mal aufgezeichnet was die Unterschiedenlichen Ergebnisse bei Excel 2003 und 2010 sind.
Excel 2003
Nach Printarea= Printarea + add $A$1:$AC$50
Printarea alt + add $A$1:$AC$50,$AD$1:$BF$50
Nach Printarea= Printarea + add $A$1:$BF$50
Printarea alt + add $A$1:$BF$50,$A$51:$AC$100
Nach Printarea= Printarea + add $A$1:$BF$50,$A$51:$AC$100
Printarea alt + add $A$1:$BF$50,$A$51:$AC$100,$AD$51:$BF$100
Nach Printarea= Printarea + add $A$1:$BF$100
Printarea alt + add $A$1:$BF$100,$A$101:$AC$150
Nach Printarea= Printarea + add $A$1:$BF$100,$A$101:$AC$150
Printarea alt + add $A$1:$BF$100,$A$101:$AC$150,$AD$101:$BF$150
Nach Printarea= Printarea + add $A$1:$BF$150
Printarea alt + add $A$1:$BF$150,$A$151:$AC$200
Nach Printarea= Printarea + add $A$1:$BF$150,$A$151:$AC$200
Printarea alt + add $A$1:$BF$150,$A$151:$AC$200,$AD$151:$BF$200
Nach Printarea= Printarea + add $A$1:$BF$200
Excel 2010
Nach Printarea= Printarea + add $A$1:$AC$50
Printarea alt + add $A$1:$AC$50,$AD$1:$BF$50
Nach Printarea= Printarea + add $A$1:$BF$50
Printarea alt + add $A$1:$BF$50,$A$51:$AC$100
Nach Printarea= Printarea + add $A$1:$BF$50;$A$51:$AC$100
Printarea alt + add $A$1:$BF$50;$A$51:$AC$100,$AD$51:$BF$100
Ab hier Fehlermeldung
mfg Raphael
Anzeige
AW: Druckbereich erweitern funktionert nicht mehr
23.12.2011 18:56:31
Luschi
Hallo
habe das noch mal mit Deinen Angaben in Excel 2003 & 2010 getestet. In Excel 2003 kann man Printarea scheibchenweise weitere Bereiche zuordnen. Excel 2010 verkraftet das so nicht!
Hier funktioniert es nur, wenn zuerst in einer Stringvariablen die einzelnen Druckbereiche _ zusammengefast werden und erst zum der Inhalt der Variablen Printarea zugeordnet wird:

Sub test_Druckbereich()
Dim s As String
s = ""
s = "$A$1:$AC$50"
s = s & "," & "$AD$1:$BF$50"
'Nach Printarea= Printarea + add $A$1:$BF$50
s = s & "," & "$A$51:$AC$100"
'Nach Printarea= Printarea + add $A$1:$BF$50,$A$51:$AC$100
s = s & "," & "$AD$51:$BF$100"
''Nach Printarea= Printarea + add $A$1:$BF$100
s = s & "," & "$A$101:$AC$150"
''Nach Printarea= Printarea + add $A$1:$BF$100,$A$101:$AC$150
s = s & "," & "$AD$101:$BF$150"
''Nach Printarea= Printarea + add $A$1:$BF$150
s = s & "," & "$A$151:$AC$200"
'Nach Printarea= Printarea + add $A$1:$BF$150,$A$151:$AC$200
s = s & "," & "$AD$151:$BF$200"
'Nach Printarea= Printarea + add $A$1:$BF$200
Debug.Print s
ActiveSheet.PageSetup.PrintArea = s
Debug.Print ActiveSheet.PageSetup.PrintArea
End Sub
Gruß von Luschi
aus klein-Paris
PS: Der Druckbereich ist dann: $A$1:$BF$200
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige