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

Daten importieren

Daten importieren
29.03.2005 17:03:35
Philipp
Hallo,
ich möchte aus bestimmten Excel-Tabellen bestimmte Daten importieren! Der User soll über ein UserForm den Pfad dieser Dateien angeben. Geht das evtl. sogar mit einem schicken Verzeichnisbaum? Wie geht das mittels Makro?
Vielen Dank
Philipp

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten importieren
29.03.2005 17:36:35
ransi


      
hallo philipp
einen schicken verzeichnissbaum?
versuch mal so:
Sub durchsuchen()
Dim Ordnerpfad
Dim dat
Set dat = Application.FileDialog(msoFileDialogFilePicker)
With dat
   .Title = 
"Wo bin ich...."
   .InitialFileName = 
"d:\" 'oder was auch immer
              If .Show = -1 Then
                  
For Each Ordnerpfad In .SelectedItems
                          MsgBox Ordnerpfad 
'Zur weiteren verwendung
                  Next Ordnerpfad
             
End If
    
End With
End Sub
wenn du es ganz schick haben willst, versuch mal so:
Option Explicit
Private Type BROWSEINFO
      hOwner 
As Long
      pidlRoot 
As Long
      pszDisplayName 
As String
      lpszTitle 
As String
      ulFlags 
As Long
      lpfn 
As Long
      lParam 
As Long
      iImage 
As Long
End Type
Declare Function SHGetpathfromidlist Lib "shell32.dll" _
      
Alias "SHGetPathFromIDListA" (ByVal pidl As LongByVal pszpath As StringAs Long
Declare Function SHBrowseForFolder Lib "shell32.dll" _
      
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Sub OrdnerAuswahl()
'aus den FAQ abgeschrieben
Dim smsg As String, spath As String
smsg = 
"Wo bin ich... ?"
spath = ordner(smsg)
If spath <> "" Then MsgBox spath
End Sub
Function ordner(Optional smsg) As String
Dim lpBrowseInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
lpBrowseInfo.pidlRoot = 0&
If IsMissing(smsg) Then
      lpBrowseInfo.lpszTitle = 
"Wählen sie bitte einen Ordner aus."
Else
      lpBrowseInfo.lpszTitle = smsg
End If
lpBrowseInfo.ulFlags = &H1
x = SHBrowseForFolder(lpBrowseInfo)
path = Space$(512)
r = SHGetpathfromidlist(
ByVal x, ByVal path)
If r Then
      pos = InStr(path, Chr$(0))
      ordner = Left(path, pos - 1)
Else
      ordner = 
""
End If
End Function
bei VBA-Nein würde ich an deiner stelle aber die erste variante vorziehen.
ransi 


Anzeige
AW: Daten importieren
29.03.2005 17:42:19
Philipp
Hallo,
total genial! Danke! Die zweite Version funktioniert, aber Application.FileDialog(msoFileDialogFilePicker) wird bei mir irgendwie nicht unterstützt (Fehler 438).
Kann man den Verzeichnisbaum auch irgendwie in ein eigenes UserForm integrieren?
Wie sieht es mit der eigentlichen Frage (Daten importieren) aus?
Nochmal danke, echt cool!
Bis dann
Philipp
Application.GetOpenFilename
29.03.2005 18:03:27
ransi
hallo phillip
ich glaube für das erste musst du noch irgendeinen verweis setzen.
versuchs darum mal mit der ganz einfachen variante.
Public

Sub t()
Dim g
g = Application.GetOpenFilename
If g <> False Then MsgBox g
End Sub

wie das mit dem daten importieren geht, verrät dir der makrorecorder.
nimm den vorgang mal damit auf.
dann kann man den ganzen vorgang anpassen.(die dialogauswahl einpflegen)
ransi
Anzeige
VIELEN DANK!!! ES FUNKTIONIERT SUPER!!! (o.T.)
30.03.2005 13:45:08
Philipp

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige