Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
in Userform Mappen anzeigen
walter
Hallo Zusammen,
erst mal nachträglich ALLEN ein schönes Osterfest gehabt zu haben und
den REST.
Ich habe eine Userform erstellt, ich möchte auf der Userform die alle Arbeitsmappen eine Datei ausgelesen haben und angezeigt.
Das schwierige, ich möchte dann z.b. mit einem OptionButton die Mappe anklicken
um so diese Mappe im Hintergrund aufzurufen, wenn die Userform geschlossen
wird bin ich somit in der richtigen Arbeitsmappe.
(geht das mit Optionbutton?)
Gruss Walter

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

Betreff
Benutzer
Anzeige
AW: in Userform Mappen anzeigen
Ramses
Hallo
würde der Menübefehl "Fenster" nicht ausreichen ?
Das hat den gleichen Effekt ?
Gruss Rainer
Ja, aber wie ?
walter
Hallo Rainer,
leider weiß ich nicht wie, hast Du ein kleines Beispiel ?
Gruss Walter
?
Ramses
Hallo
öffne doch mal mehrere Mappen und wähle dann den Menübefehl "Fenster"
Dort sind alle geöffneten Mappen aufgelistet. Wenn du eine anklickst wird diese automatisch aktiviert.
Gruss Raienr
Anzeige auf Userform...
walter
Hallo Rainer,
die Mappen möchte ich auf der Userform sehen können und von dort aus anklicken.
Habe gedacht, man erstellt mehrere Option Button und kopiert diese rein um beim
anklicken die entsprechende Mappe aufzurufen und so die Daten einzulesen.
Gruss Walter
Anzeige
AW: Anzeige auf Userform...Sinn ?
Kurt
Hallo Walterchen,
erklär doch mal den Sinn dieser Aktion
1. du kannst problemlos über die Tabellenreiter das Tabellenblatt erreichen
2. du kannst ebenfalls über die von Ramses propagierte Methode das Tabellenblatt erreichen
Warum jetzt noch eine Userform ?
Grüsse Kurt
AW: Anzeige auf Userform...
Ramses
Hallo
bei "VBA nur mit Rekorder" hast du dir da schon was vorgenommen ;-)
Die Anzahl der Mappen ist ja nicht fest, ebenfalls nicht die Anzahl der OptionButton.
Das heisst du müsstest zur Laufzeit ( während der Anzeige der UF ) die Anzahl der Optionbutton verändern und diesen auch noch einen Code zuweisen,.. denn ohne Code nix los.
Zusätzlich muss die Grösse der UF neu angepasst werden und die Positionen der Option-Buttons neu definiert werden.
Tut mir leid,... aber ich glaube das geht über die Forumsmöglichkeiten hinaus, da zur Pflege und zum anpassen doch erhebliche Kenntnisse in VBA-Programmierung erforderlich sind. Das mache auch ich nicht aus dem Handgelenk. Das sind mehrere Stunden Programmierarbeit bis alles sauber läuft.
Ein Alternative wäre höchstens eine Combobox die beim aufklappen das "Look und Feel" eines Option-Buttons darstellt.
Gruss Rainer
Anzeige
Hallo Kurt Hallo Rainer!
walter
Hallo Zusammen,
ich habe die Userform mit der geöffneten Datei geöffnet.
Auf der Userform soll nun die entsprechende Mappe ausgewählt werden.
Erst jetzt gehe ich zur der entsprechenden Mappe um diese zu bearbeiten.
Ich habe ein "alten" Makro gefunden, welches in Verbindung mit einer Listenbox
mal funktioniert hat.

Sub aaaaBlattListeEinlesen()
Dim i%, j%, bl$(), aktvbl As Object
Set aktvbl = ActiveWorkbook.Sheets
' alphabetische Liste der Blätter erstellen
ReDim bl(aktvbl.Count)
For i = 1 To aktvbl.Count
bl(i) = aktvbl(i).Name
Next i
' Liste sortieren ?
If ThisWorkbook.DialogSheets("DlgB").[sortiert] = xlOn Then
If aktvbl.Count > 1 Then
For i = 1 To aktvbl.Count - 1
For j = i + 1 To aktvbl.Count
If bl(i) > bl(j) Then bl(0) = bl(i): bl(i) = bl(j): bl(j) = bl(0)
Next j
Next i
End If
End If
With ThisWorkbook.DialogSheets("DlgB")
' alle Elemente im Listenfeld löschen
.[ListeBlatt].List = Array("")
'alph. Liste in das Listenfeld eintragen
For i = 1 To aktvbl.Count
'.[ListeBlatt].List(i) = bl(i)
Next i
End With
ThisWorkbook.DialogSheets("DlgB").Show
End Sub

Ich hoffe ich habe mich jetzt etwas besser ausgedrückt !
Gruss Walter
Anzeige
AW: Hallo Kurt Hallo Rainer!
Kurt
Hallo Walter,
Terminologie: Mappe=Exceldatei Tabelle=Tabellenblatt
damit ist aber immer noch nicht klar wozu das Ganze dienen soll
Userform um der Userform willen ?
benutz doch einfach auf deinem ersten Tabellenblatt Hyperlinks zu den anderen Blättern
das ist auch für einen "Laien" zu schaffen und sieht auch professionell aus
Grüsse Kurt
Noch offen...
Ramses
Hallo
Nachdem du ja jetzt was "altes" gefunden hast, das funktioniert, nimm das und vergiss das andere.
Ich bin draussen.
Gruss Rainer
Ich probiere ein wenig...
walter
Hallo Rainer,
herzlichen Dank für den aufbauenden Tip, ich muß halt etwas fummel,
bin jetzt motiviert für zu probieren.
Habe es bisher geschaft, die Mappen auszulesen und in Tabelle1 zu schreiben.
Anbei mein fertiges Makro:

Sub alleselektieren()
Application.ScreenUpdating = False
Dim wa As Range
Range("g10:g30").Select                           'Range("ab10:ab30").Select
Selection.ClearContents                           'zellen löschen
Set w = Sheets("Tabelle1").Cells(10, 7)           'cells(10= 10 Zeile,  5= 5Spalte)
For i = 1 To Sheets.Count                                       'zähler für Blätter
w.Cells(i, 1).Value = Sheets(i).Name              'i=wählt, 1=setzt ein z.b. 2= 1
'  Spalte n. rechts
Next i                                            ' wieder zurück 1.Zeile bis letzte
'    Blatt gefunden
End If
Application.ScreenUpdating = True
End Sub

Ich glaube das habe ich schon ganz gut hinbekommen,
gute Nacht...
Gruss Walter
Anzeige
Erfolg, jetzt weiter WIE ?
13.04.2004 16:10:39
walter
Hallo Rainer,
mit diesem Makro kann ich die ListBox füllen.
Jetzt brauche ich Tips, wenn ich einen Mappennamen in der Listbox selektiere, wie
kann ich dann diese Mappe aufrufen ?
(Mit UserForm.Hide schließe ich die Userform)
Hier mein Makro:

Private Sub CommandButton2_Click()
'Sub alleselektieren()
Application.ScreenUpdating = False
Dim i%                                  'neu
Dim w
Range("g10:g30").Select                           'Range("ab10:ab30").Select
Selection.ClearContents                           'zellen löschen
ListBox1.Clear                                         'Listbox leeren !!!!!!!!!!!!!!
Set w = Sheets("Tabelle1").Cells(10, 7)             'cells(10= 10 Zeile,  5= 5Spalte)
For i = 1 To Sheets.Count                              'zähler für Blätter
w.Cells(i, 1).Value = Sheets(i).Name               'i=wählt, 1=setzt ein z.b. rechts
ListBox1.AddItem Sheets(i).Name                    'Listbox füllen  !!!!!!!!!!!!!!
Next i
Range("g10").Select
Application.ScreenUpdating = True
End Sub

Ich schreibe zwar noch in eine Arbeitsmappe Namen Tabelle1, ändere das später.
Villeicht hast Du einenTip ?
Gruss Walter
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige