Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
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

Datei auswahl

Datei auswahl
26.02.2015 15:13:50
ANAnas
Hallo liebe Community,
ich möchte folgendes machen:
Eine CSV Datei über das Auswahlfenster wählen und in meine bereits geöffnete Exceldatei einfügen.
Hier ist mein aufgezeichnetes Makro:
Sub Makro1start()
' Makro1start Makro
' Tastenkombination: Strg+e
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\Benutzer\Desktop\TEST\test.csv", Destination:=Range( _
"$A$1"))
.Name = "test"
.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 = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = " "
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Dabei sollen die Parameter nicht verändert werden (Trennzeichen usw). Könnt ihr mir da helfen?
DANKÖÖÖÖ :)

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

Betreff
Datum
Anwender
Anzeige
AW: Datei auswahl
26.02.2015 15:26:16
Klaus
Hi,
genau dein Makro, aber der Dateiname ist nicht "hart" eingetragen sondern wird über den Windows-Dialog ermittelt:
Option Explicit
Sub Makro1start()
' Makro1start Makro
' Tastenkombination: Strg+e
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & ChooseAFile("C:\"), Destination:=Range("$ _
A$1"))
.Name = "test"
.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 = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = " "
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Public Function ChooseAFile(sPathStart)
Dim sFile As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = sPathStart
.Title = "Pick a Folder"
.ButtonName = "choose..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
sFile = .SelectedItems(1)
'If Right(sFile, 1)  "\" Then sFile = sFile & "\"
Else
sFile = ""
End If
End With
If sFile = "" Then
ChooseAFile = ""
'MsgBox ("no Folder!")
Else
ChooseAFile = sFile
End If
End Function
BITTÖÖÖÖ,
Klaus M.vdT.

Anzeige
AW: Datei auswahl
26.02.2015 15:47:56
ANAnas
Hey, daanke für deine schnelle Hilfe :)
Es kommt bei mir leider zu einem Laufzeitfehler:
Laufzeitfehler 1004
Die Methode "Range" für das Objekt "_Global" ist fehlgeschlagen :C

AW: Datei auswahl
27.02.2015 07:52:32
Klaus
Hi,
bei mir geht's. In welcher Zeile kommt der Fehler? Ich vermute, es fehlt ein Verweis auf eine Bibliothek.
Bitte lass mal folgenden Test laufen:
Sub Test()
MsgBox ChooseAFile("C:\")
End Sub
Public Function ChooseAFile(sPathStart)
Dim sFile As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = sPathStart
.Title = "Pick a Folder"
.ButtonName = "choose..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
sFile = .SelectedItems(1)
'If Right(sFile, 1)  "\" Then sFile = sFile & "\"
Else
sFile = ""
End If
End With
If sFile = "" Then
ChooseAFile = ""
'MsgBox ("no Folder!")
Else
ChooseAFile = sFile
End If
End Function
Kommt da bei dir eine MsgBox?
Grüße,
Klaus M.vdT.

Anzeige
AW: Datei auswahl
27.02.2015 11:59:53
ANAnas
Hallo :)
hab den Fehler gefunden:
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & ChooseAFile("C:\"), Destination:=Range
- ("$A$1"))
Der Zellenbezug war nicht richtig. Aber wenn wir schon dabei sind, wie kann ich bei einem Fehler das Programm beenden ohne das es auf einen Fehler läuft?
LG

OnError
27.02.2015 12:28:19
Klaus
Hallo ANAnas,
im Prinzip so (Bei Fehler Weitermachen oder abbrechen):
Sub FehlerResume()
On Error Resume Next
MsgBox 1 / 2
MsgBox 1 / 0 'division durch 0
MsgBox 1 / 3
End Sub
Sub FehlerEnde()
On Error GoTo hell:
MsgBox 1 / 2
MsgBox 1 / 0 'division durch 0
MsgBox 1 / 3
hell:
End Sub
Aber Achtung! Einfach "On Error Resume Next" vor den Code zu knallen ist ungefähr so sinnvoll, wie ein Stück schwarzes Tape vor die Motorkontrollleuchte deines Autos zu kleben.
Wenn du ganz ordentlich bist, machst du eine richtige Fehlerbeschreibung:
Sub FehlerBehandelt()
On Error GoTo hell:
MsgBox 1 / 2
MsgBox 1 / 0 'division durch 0
MsgBox 1 / 3
GoTo heaven:
hell:
MsgBox "Fehler in Sub FehlerBehandelt aufgetreten!" & vbCrLf & "Fehlernummer: " & Err.Number &  _
vbCrLf & "Fehlerbeschreibung: " & Err.Description
heaven:
End Sub
Hier das ganze in allen Details erklärt:
http://www.online-excel.de/excel/singsel_vba.php?f=144
Grüße,
Klaus M.vdT.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige