Name eines Verzeichnisses in Zelle übernehmen
#21
Hallo,

hab jetzt mal eine Version der momentan zusammengebastelten Tabelle angefügt.
.xlsb   Ordner einlesen_02.xlsb (Größe: 20,37 KB / Downloads: 3)
.zip   Daten-Sicherungen.zip (Größe: 7,74 KB / Downloads: 1) und die Zip-Datei enthält die Verzeichnisstruktur (ausgelegt für Laufwerk "L:").
Die Tabelle macht mittlerweile die Grundlegenden Dinge, auch Dank der erhaltenen Hilfe.

Ich wollte folgenden Code einfügen:

Sub ordner_suchen()
Dim ordner
Dim dat
Set dat = Application.FileDialog(msoFileDialogFolderPicker)
With dat
.Title = "Verzeichnis wählen...."
.InitialFileName = "c:\" 'oder was auch immer
If .Show = -1 Then ordner = .SelectedItems(1) 'Zur weiteren verwendung
MsgBox ordner
End With
End Sub

Das Einfügen selbst, war nicht das Problem, aber bisher scheiterte ich daran, daß der ausgewählte Pfad nicht zur weiteren Verarbeitung übernommen wird.

Wenn es mir dann auch noch mit Eurer Hilfe gelingen würde, daß nicht alle UUV, sondern nur das jeweils zuletzt angelegte UUV in die Tabelle übernommen wird, gäbe es keine Verschiebungen mehr in den Spalten...

MfG
Top
#22
Hallo

das Löschen eines Bereiches hab ich jetzt etwas eleganter mit folgenden 3 Zeilen gelöst:

Sheets("Tabelle1").Select
Range("A1:C100").ClearContents
Range("A1").Select

funktioniert auch problemlos...

Etwas zum auslesen der "Dateieigenschaften" hab ich auch schon gefunden, wird auch in eine Tabelle eingetragen, aber dort werden nicht die Eigenschaften der Verzeichnisse, sondern nur der enthaltenen Dateien dargestellt. Die Liste selbst hab ich auch gekürzt bekommen, so daß nur noch das Erstellungsdatum ausgegeben wird. Nun brauche ich nur noch Hilfe dabei, daß das Erstellungsdatum für die UUV vor dem Einlesen in die Tabelle berücksichtigt wird, und nur das neueste (zuletzt erstellte) Verzeichnis in die Tabelle übertragen wird...

MfG
Top
#23
Elegant ??


Code:
Sheets("Tabelle1").Range("A1:C100").ClearContents
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#24
Elegant???

für meine Verhältnisse schon - Du weißt nicht, wie ich es zuvor gelöst hatte...

:20:

wo es so aber besser wäre:

Sheets("Tabelle1").Select
Range("A3:C100").ClearContents

sonst wäre der Bereich in allen folgenden Tabellenblättern auch leer, was fatal werden könnte...
Top
#25
Verzichte in VBA immer auf 'Select' und 'Activate'.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#26
Hi,

geht ja doch mit der Bsp. DATEI ;)
anbei ohne Formel nur mit VBA

.xlsb   Ordner einlesen_02.xlsb (Größe: 18,26 KB / Downloads: 3)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
[-] Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:
  • IRATA
Top
#27
Hallo Chris,

das ist natürlich wesentlich eleganter, als die "Lösung", die ich mir zusammengestoppelt hatte...
Es werden aber immer noch alle UUV eingelesen. Das würde aber zu Verschiebungen führen, welche die Auswertung und weitere Verarbeitung negativ beeinträchtigen würde.

Wir haben da eine "Lösung" durch die Hintertür gebastelt (nicht lachen)...

If intLevel = 3 Then
If Cells(lngZeile - 1, intLevel) = "" Then
Else
Cells(lngZeile - 1, intLevel) = objSubFolder.Name
Cells(lngZeile, intLevel) = ""
lngZeile = lngZeile - 1
End If
Else
End If

...aber auch da gibt es sicher eine elegantere Lösung...

Ein Dankeschön für die Mühe

MfG
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste