Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Neue Arbeitsmappe über VBA und Namen festlegen

Neue Arbeitsmappe über VBA und Namen festlegen
23.09.2004 02:23:39
Dieter.K
Hallo Forum,
ich sitze schon wieder seit Stunden an einem Problem mit einem Makro.
Ich möchte in eine UserForm 2(später 3) mehrspaltige Listboxen einlesen.
Die Listboxen erhalten Ihre Daten über zur Laufzeit neu angelegte Arbeitsmappen. Das funktioniert einwandfrei. Ich möchte aber weiterhin erreichen, daß ich den in der jeweiligen Listbox ausgewählten Datensatz über einen Commandbutton öffnen kann. Auch das funktioniert zum Teil. Habe ich nur eine Listbox, gibt es keine Probleme. Habe ich zwei Listboxen, deren Daten aus verschiedenen Mappen kommen, bricht das Makro beim öffnen der Auswahl aus der ersten Listbox ab. LOGISCH, da die neu erstellte Mappe für Listbox1 dann bereits wieder geschlossen ist und ich keinen Listindex daraus mehr erhalten kann.
Nun meine Frage. Wie kann ich den neu zu erstellenden Mappen einen Namen zuweisen, um sie nicht schließen zu müssen, damit ich zwischen den offenen Mappen per Makro wechseln kann? Erst beim schließen der UserForm sollen diese Mappen ohne speichern geschlossen werden.

Private Sub UserForm_Initialize()
Dim iRowL As Integer
Dim sFilter As String
Application.ScreenUpdating = False
sFilter = Worksheets("Daten").Range("I2")
If sFilter = "" Then Exit Sub
'Hier beginnt der Filter für die erste Listbox
Worksheets("Angebote").Activate
Cells.Select
Selection.AutoFilter Field:=9, Criteria1:=sFilter
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Workbooks.Add
Range("A1").PasteSpecial xlPasteValues
Columns("F:F").Select
Selection.NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
If Range("A2").Value = "" Then
ActiveWorkbook.Close savechanges:=False
Selection.AutoFilter
Exit Sub
Else
ListBox1.RowSource = "A2:y65536"
ActiveWorkbook.Close savechanges:=False
End If
'Hier beginnt der Filter für die zweite Listbox
Worksheets("Auftrag").Activate
Cells.Select
Selection.AutoFilter Field:=9, Criteria1:=sFilter
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Workbooks.Add
Range("A1").PasteSpecial xlPasteValues
Columns("F:F").Select
Selection.NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
If Range("A2").Value = "" Then
ActiveWorkbook.Close savechanges:=False
Selection.AutoFilter
Exit Sub
Else
ListBox2.RowSource = "A2:y65536"
ActiveWorkbook.Close savechanges:=False
End If
End Sub


Private Sub ListBox1_Change()
Worksheets("Tabelle1").Range("Z1") = Me.ListBox1.Column(20)
Label32.Caption = Sheets("Tabelle1").Range("z1")
End Sub


Private Sub ListBox2_Change()
Worksheets("Tabelle1").Range("Z2") = Me.ListBox2.Column(20)
Label33.Caption = Sheets("Tabelle1").Range("z2")
End Sub

Ich hoffe, meine Frage ist nicht zu ausschweifend, bzw. verständlich rübergekommen. Für Eure Hilfe und / oder Anregungen schon einmal DANKE!
Gruß
Dieter.K

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neue Arbeitsmappe über VBA und Namen festlegen
23.09.2004 04:41:25
Dieter.K
Moin Forum,
hat mir keine Ruhe gelassen. Habe selbst ein bischen gebastelt und eine Lösung gefunden. Werde Sie im Laufe des Tages hier einstellen, damit vielleicht mal jemand drüber sieht. Eventuell kann das ja dann auch jemand gebrauchen. Jetzt geht's erstmal 2-3 Stunden in die Kiste.
Gruß
Dieter.K
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige