es muß immer wieder die selbe *.csv eingelesen werden. Da dies auf unterschiedliche Rechner erfolgt, sind unterschiedliche Pfade vorhanden. Um dieses nicht im Code ändern zu müssen, möchte ich eine Variable anlegen.
Diese soll die Pfadangabe aus dem Sheet("Einlesen").Rang("R6") holen.
Hier mal mein Code:
Sub Test()
Dim wksE As Worksheet
Dim Pfad As String
Set wksE = Worksheets("Einlesen")
Pfad = wksE.Range("R6")
If wksE.Range("A3") <> "" Then
Exit Sub
Else
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;Pfad", Destination:=Range("A1"))
xxx '"TEXT;C:\Dokumente und Einstellungen\pc\Eigene Dateien\SBW2005.csv", _
xxx 'Destination:=Range("A1"))
.Name = "SBW2005"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End If
End Sub
Um Schreibfehler zu vermeiden, habe ich den Pfad aus den Code in die Zelle kopiert.
Bei meiner Schrebweise wird die Datei nicht gefunden.
Die mit xxx gekennzeichneten Zeilen ist das Original und funzt.
Was mache ich falsch?
Gruß Korl