Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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
Inhaltsverzeichnis

VBA - aktuellen Ordner auslesen

VBA - aktuellen Ordner auslesen
12.11.2013 08:57:18
blablub
Hallo zusammen,
ich werte über VBA mehrere Excel-Dateien im aktuellen Ordner aus. Dafür nutze ich folgenden Code. Leider funktioniert die Abfrage "strPath = ActiveWorkbook.Path" irgendwie nicht. Ich bekomme keine Fehler. Eine feste Angabe des Ordnerpfades ist nicht möglich, da die Datei nicht nur von mir genutzt wird. Habt ihr einen Tipp? Danke!
Sub SubCombine()
Dim wkbPaste As Workbook
Dim wkbCopy As Workbook
Dim wksSheet As Worksheet
Dim rngRange As Range
Dim strCurrentFile As String
Dim strPath As String
Dim strMacroFile As String
'# Open a new workbook to store the results
Set wkbPaste = Workbooks.Add
Set rngRange = wkbPaste.ActiveSheet.Range("A1")
'# The name of this file (the one with the macro in)
strMacroFile = "Auswertung.xlsm"
'# The directory to be searched
strPath = ActiveWorkbook.Path
'# Retrieve the first file
strCurrentFile = Dir(strPath & "\*.xls")
Do While strCurrentFile  ""
'# Ignore the current directory and the encompassing directory (and the current  _
file)
If strCurrentFile  "." And strCurrentFile  ".." And strCurrentFile   _
strMacroFile Then
'# Open the file
Set wkbCopy = Workbooks.Open(strPath & strCurrentFile)
'# Select and copy the used range
wkbCopy.ActiveSheet.UsedRange.Select
Selection.Copy
'# Paste the data into the other workbook
wkbPaste.Activate
rngRange.Select
ActiveSheet.Paste
'# Move to the next available row
Set rngRange = wkbPaste.ActiveSheet.Range("A" & wkbPaste.ActiveSheet.UsedRange. _
Row + wkbPaste.ActiveSheet.UsedRange.Rows.Count)
'# Close the workbook
wkbCopy.Close False
End If
'# Get the next file
strCurrentFile = Dir
Loop
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
blablub?
12.11.2013 09:10:00
Thorsten_Z
...keine gute Voraussetzung eine Antwort zu erhalten!!!
Versuch das und gelobe Besserung:
ActiveWorkbook.Path & Application.PathSeparator
Gruß
Thorsten

AW: VBA - aktuellen Ordner auslesen
12.11.2013 09:14:17
GuentherH
Hallo Namenlos,
da Du das ActiveWorkbook gerade erst erzeugt hast, hat es noch keinen Pfad!
möglicherweise willst Du eigentlich ThisWorkbook abfragen.
Beste Grüße,
Günther

AW: VBA - aktuellen Ordner auslesen
12.11.2013 09:23:51
Luschi
Hallo blablub,
da Namen in einem Forum 'Schall & Rauch' sind bzw. sein sollten, solange sie nicht anzüglich/pervers oder sonst wie gegen die guten Sitten verstoßen, kriegst Du auch eine Antwort - da das Thema interessant ist. Entscheidend sind diese 2 Zeilen:
Set wkbPaste = Workbooks.Add
strPath = ActiveWorkbook.Path
Zum Zeitpunkt der Ausführung der 2. Vba-Zeile ist die Arbeitsmappe 'wkbPaste' aktiv, aber noch nicht gespeichert wurde und somit auch keinen Pfad haben kann.
Somit enthält strPath eine Leerzeichenkette.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: VBA - aktuellen Ordner auslesen
13.11.2013 08:20:41
blablub
Hallo Luschi,
vielen Dank! Diese Forensoftware ist mir ein wenig neu, deswegen sorry!
Was müsste ich denn nun ändern? Wenn ich mit "ThisWorkbook.Path" arbeite, erhalte ich einen Fehler 400.
Vielen Dank und viele Grüße!

AW: VBA - aktuellen Ordner auslesen
13.11.2013 16:24:11
Luschi
Hallo blablub,
lege noch eine Variable für die Arbeitsmappe an, in der dier Vba-Code steht.
Dim wkbThis As Workbook
Set wkbThis = ThisWorkbook
'jetzt erst die neue Mappe anlegen
Set wkbPaste = Workbooks.Add
strPath = wkbThis.Path
Gruß von Luschi
aus klein-Paris

44 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige