Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Neue Arbeitsmappe über VBA und Namen festlegen

Forumthread: 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
Anzeige

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
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige