Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Listboxen voneinand.abhängig in UserForm + Druck

Listboxen voneinand.abhängig in UserForm + Druck
31.07.2007 09:07:46
Florian
Guten Morgen zusammen,
1.
ist es möglich, das 2 Listboxen in einer Userform in ihren Werten voneinander abhängen?
Ich habe 2 Listboxen, die erste wird beim Aktivieren mit Werten (definierten Namen) gefüllt. Nun wär es optimal, wenn der Nutzer durch anklicken eines Wertes ihn quasi in die andere ListBox befördern könnte. Also er verschwindet aus lstbox 1 und erscheint in lstbox 2 (den eventuellen Rücktransfer falls sich jmd. verklickt hat sollte ich dann selber hinbekommen)
Listbox2 soll so nacheinander mit mehreren Werten "füllbar" sein.
Bei Herber.de hab ich folgenden Code gefunden

Private Sub lstA_Click()
Dim iRow As Integer
iRow = 2
lstB.Clear
Do Until IsEmpty(Cells(iRow, 1))
lstB.AddItem Cells(iRow, lstA.ListIndex + 1)
iRow = iRow + 1
Loop
End Sub



Private Sub UserForm_Initialize()
lstA.Column = Range("A1").CurrentRegion.Rows(1).Value
End Sub


Wenn ich ihn so bei mir einfüge (Namen natürlich angepasst), bekomme ich beim Start nur 2 leere Listboxen. Lasse ich die Zeile bei Initialize weg, habe ich zwar wieder meine Werte, aber auch keine Funktion.
2.
Wie leite ich die Werte (definierte Namen) dann aus Listbox2 an einen Drucker weiter? In der bisherigen Form (Werte über Inputbox), habe ich es so gemacht:
ActiveSheet.PageSetup.PrintArea = Druckauftrag
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, Preview:=True
Und ist es möglich in dem Makro auch festzlegen, das Excel den Bereich 2 "definierter Namen" auf eine Seite druckt? Ich werde da auch aus den Makros hier aus dem Archiv nicht wirklich schlau.
Zu guter letzt noch eine kleine Wissensfrage, besteht ein Unterschied zwischen Userform_activate und Userform_Initialize?
Ich hoffe das ganze ist nicht zu komplex, und es is OK das ich die 2 Fragen in einen Thread gepackt habe, kann sie sonst der Übersicht halber auch gerne splitten.
Vielen Dank schonmal für eure Überlegungen, einen schönen Vormittag und freundliche Grüße,
Florian

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
2. Frage: Drucken aus Userform heraus
31.07.2007 12:27:00
Florian
Hallo Paul,
du glaubst gar nich wie sehr du mir geholfen hast, vielen Dank, genau das suchte ich. Habs bereits angepasst und getestet, funktioniert astrein!
Jetzt bleibt nur noch die 2. Frage, wäre super wenn da auch jmd einen Tip hat. Ich hab sie nochmal aus dem ersten Post herauskopiert:


2.
Wie leite ich die Werte (definierte Namen) dann aus Listbox2 an einen Drucker weiter? In der bisherigen Form (Werte über Inputbox), habe ich es so gemacht:
ActiveSheet.PageSetup.PrintArea = Druckauftrag
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, Preview:=True
Und ist es möglich in dem Makro auch festzlegen, das Excel den Bereich 2 "definierter Namen" auf eine Seite druckt? Ich werde da auch aus den Makros hier aus dem Archiv nicht wirklich schlau.


Mit freundlichen Grüßen, Florian

Anzeige
AW: 2. Frage: Drucken aus Userform heraus
31.07.2007 13:36:00
Rudi
Hallo,
evtl. einfach so:
With Worksheets("Sheet1").PageSetup
.PrintArea = Listbox2
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: 2. Frage: Drucken aus Userform(Listbox) heraus
31.07.2007 14:36:56
Florian
Hallo Rudi,
Danke für deine Idee, aber sie zeigt leider keine Wirkung (Namen hab ich angepasst). Evtl liegt es daran das die ListBox sich in einer UserForm befindet?
Wie kann ich überhaupt alle Werte auf einmal auslesen (sie sind nicht selected)? Mit diesem Code kann ich sie einzeln abrufen: (Quelle: https://www.herber.de/forum/archiv/316to320/t316847.htm#316847)

Dim LoI As Long
For LoI = 0 To ListBoxDruck.ListCount - 1
MsgBox ListBoxDruck.List(LoI, 0)
Next LoI


Gruß, FLorian

Anzeige
AW: 2. Frage: Drucken aus Userform(Listbox) heraus
31.07.2007 15:11:11
P@ulchen
Hallo Florian,
hab den Ausdruck der Listbox2 mal in meine Datei eingebaut: Userform-Listbox drucken
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

AW: 2. Frage: Drucken aus Userform(Listbox) heraus
31.07.2007 15:57:00
P@ulchen
Hallo Erdokan,
benenne die Textbox "Name" um, zB. Name2, dann geht das auch.
Du solltest Dich mal belesen, welche Variablennamen oder Objektnamen in VBA bereits für Funktionen oder Prozeduren verwendet werden....
Und vor allem nicht gleich einen neuen Thread eröffnen!
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Anzeige
AW: 2. Frage: Drucken aus Userform(Listbox) heraus
31.07.2007 16:09:45
P@ulchen
ups, das sollte in einen anderen Thread...
Gruß
P@ulchen

AW: 2. Frage: Drucken aus Userform(Listbox) heraus
31.07.2007 16:09:00
Florian
Hallo Paul,
das funktioniert fast perfekt- der Code druckt mir den Inhalt der ListBox, aber ich müsste den Inhalt als Bereich drucken , für den die Namen stehen. Hintergrund ist der, das all die Werte der Listbox Bereiche in einer Tabelle wiederspiegeln (über Namen--> definieren).
Bsp.: Bei "Januar2007" soll er mir nicht "Januar2007" drucken, sondern Range (xy:zu)
Ich habe meine Mappe auch einmal hochgeladen: https://www.herber.de/bbs/user/44630.xls
Hier zusätzlich zur Mappe der Code

Dim LoI As Long
Unload Me
Application.ScreenUpdating = False
Workbooks.Add 1
For LoI = 0 To ListBoxDruck.ListCount - 1
Sheets(1).Cells(LoI + 1, 1).Value = ListBoxDruck.List(LoI, 0)
Next LoI
ActiveSheet.PrintPreview
ActiveWorkbook.Close savechanges:=False
Application.ScreenUpdating = True


Und die Frage obs es möglich ist, per Code-Zeile 2 Bereiche auf ein Blatt zu drucken...Die Syntax für das Wählen des Formates (A3, A4), wie es in meiner UserForm angedeutet ist, habe ich bereits und würde sie dann mit einbauen.
Zwischenzeitlich noch einmal ein Dankeschön an alle die hier ihre Zeit opfern um zu Helfen!
Gruß Florian
@Paul: Dein obriger Eintrag galt glaub ich jmd anders ;)

Anzeige
Nur Frage wieder geöffnet (s.o.) OT
01.08.2007 08:18:48
Florian
OT

Frage z.T. geklärt, Rest in neue Frage, OT, Danke!
02.08.2007 14:59:31
Florian
Doch noch ein kurzer Text, Hallo und Danke an alle die sich Gedanken gemacht haben! Und wollt eben noch den Code posten, falls mal jmd vor demselben Problem steht:

Private Sub cmdDruck_Click()
Dim save As String
Dim AnzahlKopien As Long
If ListBoxDruck.ListIndex = -1 Then
MsgBox "Kein Monat gewählt", vbOKOnly, "Fehler"
Else
Unload Me
For i = 0 To ListBoxDruck.ListCount - 1
save = ListBoxDruck.List(i)
Worksheets("Übersicht").PageSetup.PrintArea = save
Next i
If OptionButtonA4 = True Then
ActiveSheet.PageSetup.PaperSize = xlPaperA4
Else
If OptionButtonA3 = True Then
ActiveSheet.PageSetup.PaperSize = xlPaperA3
Else
If OptionButtonA5 = True Then
ActiveSheet.PageSetup.PaperSize = xlPaperA5
End If
End If
End If
AnzahlKopien = ComboBoxKopien.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=ComboBoxKopien.Value, Collate:=True,  _
Preview:=True
End If
End Sub


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige