11. april 2006 - 12:17
Der er
2 kommentarer
macro til promptbox
mangler en macro hvor det er muligt at vælge den fil der skal importeres, f.eks week13.txt
Har denne som hard-coded
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;V:\Data\ABT2XAL\AccTrans.txt", Destination:=Range("A1"))
.Name = "AccTrans"
11. april 2006 - 12:27
#1
du kan lege lidt med dette her
Sub Demo()
Dim sFileName As Variant
sFileName = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If sFileName <> False Then
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;V:\Data\ABT2XAL\" & sFileName, Destination:=Range("A1"))
.Name = Left$(sFileName, Len(sFileName) - 4)
End With
End If
End Sub
11. april 2006 - 12:42
#2
Den åbner lige "My documents" og ikke den første del af stien som er fast.
Derudover fik jeg også et problem med .Fieldnames = True.
Måske fordi jeg havde optaget en macro, der importerede den ønskede fil. De3r skal måske laves om i den også. Sorry. Her er hel den recordede macro. Måske kan du hjælpe med det også. :-)
ActiveWorkbook.RunAutoMacros xlAutoOpen
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;V:\Data\ABT2XAL\AccTrans.txt", Destination:=Range("A1"))
.Name = "AccTrans"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
.Refresh BackgroundQuery:=False
End With
Columns("A:C").Select
Selection.Delete Shift:=xlToLeft
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
Columns("E:J").Select
Selection.Delete Shift:=xlToLeft
Columns("F:F").Select
Selection.Delete Shift:=xlToLeft
Columns("G:H").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Columns("F:F").Select
Selection.Insert Shift:=xlToRight
Columns("J:J").Select
Selection.Copy
Columns("A:A").Select
ActiveSheet.Paste
Columns("J:J").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft