Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

bedingt mehrere PrintArea`s setzen

bedingt mehrere PrintArea`s setzen
07.08.2005 10:36:43
Swen
Guten Morgen an Alle,
habe wahrscheinlich eine einfache Frage. Ich komme aber einfach nicht darauf mit meinen bescheidenen Anfängerwissen.
Ich habe in einer Userform 6 Checkboxen. Wenn diese Checkboxen auf True gesetzt sind, soll in einer der Zeile "ActiveSheet.PageSetup.PrintArea = " ...,..." ein mit den Checkboxen festgelegter Druckbereich eingetragen werden.
Es sollen eben durch den Nutzer durch eine Auswahl feste Bereiche (A1:G29 zu Checkbox 1, A62:A129 zu Checkbox2 usw.) als Druckbereich festgelegt werden.
Es muss ja sicher durch eine If Then Abfrage der Druckbereich bei Status True in einen Bereich geschrieben werden, der dann bei PrintArea = "Bereich" eingefügt wird.
Aber ich komm nicht auf eine Lösung.
Kann mir da jemand helfen.
mfg Swen

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 10:55:28
Matthias
Hallo Swen,
da die Einstellungen sich gegenseitig ausschließen, solltest du OptionButtons nehmen.

With ActiveSheet.PageSetup
If OptionButton1 Then .PrintArea = "..."
If OptionButton2 Then .PrintArea = "..."
If OptionButton3 Then .PrintArea = "..."
End With

Gruß Matthias
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 11:30:01
Swen
Danke erst einmal Matthias, für Deine schelle Antwort.
Es ist wahrscheinlich schwierig zu beschreiben was ich möchte. Deswegen konnte ich auch so schlecht im Forum suchen.
Ich möchte nicht ein Area setzen, sondern mehrere (je nach Auswahl des Nutzers).
Es soll dann in der Zeile
"ActiveSheet.PageSetup.PrintArea = "Bereich"
, wenn z.B. Checkbox 1 und 2 auf "True" stehen
"ActiveSheet.PageSetup.PrintArea = "A1:G29,A62:G129"stehen.
Wahrscheinlich müßte man eine Variable "Bereich" dimensionieren, wo ich dann den String (je nach Auswahl) "A1:G29" z.B. ablege kann, wobei dann die Frage mit den Komma ist (vor den ersten keins, dann ja).
Ich weiß nicht ob der Ansatz richtig ist.
Anzeige
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 11:34:47
Matthias
Hallo Swen,
m.W. kann man nur eine zusammenhängende PrintArea definieren.
Du könntest das Problem aber lösen, indem nu nicht erwünschte Zeilen/Spalten ausblendest.
Gruß Matthias
AW: bedingt mehrere PrintArea`s setzen
Swen
Hallo mathias,
man kann mehrer PrintArea definieren. Eben mit den Komma dazwischen setzen.
Excel druckt dann jeden Bereich auf eine neue Seite. Das ist auch das, was ich brauche.
Die Exceltabelle, die dahinter steckt ist ein umfangreiches Formular, wo nach Themen Zeilen ein und ausgeblendet werden. Dies geschieht mit jeder Menge Steuerelemente. Daher kann ich nicht übrige Zeilen ausblenden, da ich Diese nicht wieder so eingeblendet bekomme, wie der Nutzer Sie aktiviert hat. Und nun sollen eben diese Themen mit einen Druckvorgang z.B. vefaxt werden (jedes Thema auf einer Seite).
Daher lasse ich eine Userform einblenden, wo der User die Themen auswählen kann. Soweit ok.
In Grund genommen geht es ja nur darum, wie ich in VBA mehrere variable String (oder evtl. auch als Range Objekt) über eine Ablage in eine Anweisung als Parameter übergebe.
mfg Swen
Anzeige
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 12:30:34
Matthias
Hallo Swen,
Du hast recht mit den mehreren Bereichen, wieder was gelernt. ;-)
meinst du dann so in der Art?

Private Sub CommandButton1_Click()
Dim tmp As String
If CheckBox1 Then tmp = tmp & ",$A$1:$C$3"
If CheckBox2 Then tmp = tmp & ",$A$5:$C$8"
If CheckBox3 Then tmp = tmp & ",$A$9:$C$11"
If CheckBox4 Then tmp = tmp & ",$A$13:$C$15"
If CheckBox5 Then tmp = tmp & ",$A$17:$C$19"
If CheckBox6 Then tmp = tmp & ",$A$21:$C$23"
tmp = Mid(tmp, 2)
MsgBox tmp
End Sub

AW: bedingt mehrere PrintArea`s setzen
07.08.2005 14:06:46
Swen
Hallo Matthias,
genau das ist es, nach den Muster müsste ich es wohl erstellen.
Aber VBA stört sich an den &-Zeichen (Syntaxfehler). Wie wird das jetzt richtig geschrieben?
mfg Swen
Anzeige
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 14:09:46
Matthias
Hallo Swen,
...Aber VBA stört sich an den &-Zeichen (Syntaxfehler)...
Das ist aber seltsam. Das ist das Zeichen, um Strings zu verketten, geht bei mir einwandfrei. Hast du vielleicht ein Leerzeichen vergessen?
Zur Not:
Versuch es mal mit +
Gruß Matthias
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 14:41:48
Swen
Hallo Matthias,
T`schuldigung, kleiner schreibfehler. Funktioniert natürlich mit &.
Genau das ist es auch, soweit super. In die MSgBox schreibt er mir das, was er dann als bei ...PrintArea = "..." rein schreiben müßte. Auch super mit den Komma (Mid).
Aber ein Problem hab ich dabei noch. Wenn ich statt der MsgBox
ActiveSheet.PageSetup.PrintArea = "tmp"
schreibe, kommt Fehler Eigenschaft "PrintArea kann nicht festgelegt werden".
Hast du für mich da noch eine Lösung.
mfg Swen
Anzeige
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 14:44:46
Matthias
Hallo Swen,
lass bei "tmp" die Anführungszeichen weg, also
ActiveSheet.PageSetup.PrintArea = tmp
Gruß Matthias
AW: bedingt mehrere PrintArea`s setzen
07.08.2005 15:13:35
Swen
Hallo Matthias,
genau so funktioniert es jetzt.
Habe heute wieder vieles gelernt von Dir.
Vielen Dank und noch ein schönes Wochende. Bis zum nächstem mal.
Danke und mfg Swen
Danke, gleichfalls - o.T.
07.08.2005 15:15:09
Matthias
-

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige