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

userform

userform
22.05.2004 11:23:12
krystyan
Hallo
Also ich habe folgendes Prob, welches ich letzte woche schon schilderte.
Musste aber feststellen das ich das so gar nicht verwenden kann. Ist eigentlich nur eine abwandlung.
Wenn ich eine UF starte und in der integrierten Combobox die liste aller tabellenblätter anzeigen lassen möchte sieht das wohl so aus:

Private Sub UserForm_Initialize()
Dim Blatt As Worksheet
For Each Blatt In ThisWorkbook.Sheets
ComboBox1AddItem Blatt.Name
Next
End Sub

Soweit so gut. Nun stellte ich fest das sich bei änderung der daten sich die änderung auch auf alle anderen tabellen blätter überträgt.
z.b kennworteingabe in tabelle1 zieht auttomatisch das gleiche kennwort für tabelle 2 nach sich.
Genau das möchte ich aber vermeiden.
Lange rede kurzer sinn. Ist es möglich o.g. code zu ändern das folgendes geschieht?
Ich habe in c:/eigene dateien/eigener Ordner mehrere excel Arbeitsmappen abgelegt. Sagen wir mal mappe1; mappe2 usw.
Beim öffnen von excel soll nun eine uf aufgerufen werden die mir in der combobox1 genau diese mappen aus dem zuvor genannten pfad anzeigt.
Beim klick auf die ausgewählte mappe soll sich nun auch nur diese mappe öffnen.
Habe diesen code schon versucht anzupassen so das es funktioniert. klappt aber leider nicht. irgendeine fehlermeldung kommt immer.
Ich hoffe ihr könnt mir helfen.
gruß krystyan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: userform
Ramses
Hallo
Ich stehe auf dem Schlauch:
Was hat das auflisten der Tabellenblätter in der Listbox mit dem Passwort des Blattes zu tun
Anyway:
Schau mal hier vorbei
http://www.office.gmxhome.de/_download_excel.htm
und lade dir mal das AddIn "Folder Memory" herunter, das ist, denke ich, wesentlich eleganter und erfüllt den gleichen Zweck.
Das AddIn entpacken und über Extras - AddIn Mangager installieren.
Gruss Rainer
AW: userform
22.05.2004 12:06:41
krystyan
das kennwort hat nichts damit zu tun war nur ne schilderung meiner ersten mappe wo ich jedem tabellenblatt ein kennwort zuordnen wollte das aber nicht ging.wenn ich im zweiten blatt ein kennwort angelegt habe dann war das auch fürs erste tabellenblatt gültig obwohl ich da ja ein anderes hatte.
deshalb wollte ich jetzt diese andere variante probieren weil es da ja unterschiedliche mappen sind die geöffnet werden und nicht unterschiedliche tabellenblätter. dachte dann kann das nicht mehr passieren.
gruß
krystyan
Anzeige
AW: userform
22.05.2004 12:08:19
krystyan
das kennwort hat nichts damit zu tun war nur ne schilderung meiner ersten mappe wo ich jedem tabellenblatt ein kennwort zuordnen wollte das aber nicht ging.wenn ich im zweiten blatt ein kennwort angelegt habe dann war das auch fürs erste tabellenblatt gültig obwohl ich da ja ein anderes hatte.
deshalb wollte ich jetzt diese andere variante probieren weil es da ja unterschiedliche mappen sind die geöffnet werden und nicht unterschiedliche tabellenblätter. dachte dann kann das nicht mehr passieren.
gruß
krystyan
AW: userform
22.05.2004 12:11:26
krystyan
achja das mit dem runterladen des addinns ist ja lieb gemeint, aber da es für den rechner auf arbeit ist darf ich dieses nicht dort installieren. vieren und so reine vorschrift des arbeitgebers. bräuchte also die lösung wie oben oder ähnlich als code den ich dann selbst reinschreibe.
thanks
Anzeige
AW: userform
Ramses
Hallo
Hier der Code

Private Sub CommandButton2_Click()
Me.ListBox1.List = FileArray(Me.txtPfad.Text, Me.txtExt.Text)
End Sub


Private Sub UserForm_Initialize()
Me.ListBox1.List = FileArray(Application.DefaultFilePath, "*.xls")
Me.txtPfad = Application.DefaultFilePath
Me.txtExt = "*.xls"
End Sub

Function FileArray(strPath As String, strExt As String)
Dim arrDateien()
Dim intCounter As Integer
Dim strDatei As String
If Right(strPath, 1) "\" Then strPath = strPath & "\"
With Application.FileSearch
.LookIn = strPath
.SearchSubFolders = Me.chkSubfolder 'Durchsucht alle Unterordner oder =False
.FileName = strExt
If .Execute() > 0 Then
totFiles = .FoundFiles.count
Me.lblGefunden = "Total " & totFiles & " Dateien in " & strPath & " gefunden"
For i = 1 To .FoundFiles.count
gefFile = .FoundFiles(i)
intCounter = intCounter + 1
ReDim Preserve arrDateien(1 To intCounter)
arrDateien(intCounter) = gefFile
Next i
End If
If .Execute 0 Then
FileArray = arrDateien
End If
End With
End Function
Dazu brauchst du folgendes
1 UF
1 Commandbutton
1 Textbox mit dem Namen "txtPfad"
1 Textbox mit dem Namen "txtExt"
1 CheckBox mit dem Namen "chkSubfolder"
1 Listbox
Das ganze sieht dann so aus
Userbild
Dazu kannst du dir nun einen Button bauen der dir die jeweilige Datei dann öffnet.
Gruss Rainer
Anzeige
AW: userform
22.05.2004 12:33:44
krystyan
geht das ganze auch kürzer oder besser abgespeckter?
nur die uf und die combobox mit den namen und bei click auf den namen in der combobox öffnet sich dann die datei zu diesem namen?
ich will es ja nicht komplizierter machen als es ist.
falls es nicht geht probier ich natürlich die o.g. prozedur aus.
das ergebnis ist entscheidend.
vielen dank
und schönes we noch
krystyan
AW: userform
Ramses
Hallo
ein bischen lesen und überlegen und schon funktionierts :-)
Das muss geändert werden

Private Sub CommandButton2_Click()
Me.ListBox1.List = FileArray("Dein Pfad", "*.xls")
End Sub

und
.SearchSubFolders = False
Gruss Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige