Udaje z textu

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Odpovědět
karolko123
nováček
Příspěvky: 3
Registrován: 14 lis 2010 21:55

Udaje z textu

Příspěvek od karolko123 »

Ahojte,
v exceli 2007 ukladam data z textu do tabuly. Chcel som si to ulahcit, tak som si zaznamenal makro.
Textovy subor ma stale rovnaky nazov aj rozlozenie udajov. Mam ho stale v rovnakom adresari.
Makro ktore som si zaznamenal pracuje, ale az na to, ze pri druhom a dalsom pouziti mi textove
riadky neulozi do dalsich riadkov tabulky, ale do dalsich volnych stpcov. Ak mozem niekoho poprosit o radu,
budem rad.
Makro je tu:

Sub test()
'
' test Makro
' test
'
' Klávesová skratka: Ctrl+e
'
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\_A\test.txt", _
Destination:=Range("$A$1"))
.Name = "test_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 852
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

importujem napr. tento text:

E1SK 53SK837023 09301020101102
E1SK 53SK841085 09301020101102
E1SK 53SK835015 09301020101102

Dakujem
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: Udaje z textu

Příspěvek od navstevnik »

V zaznamenane procedure musis zadat v parametru Destination prvni volnou bunku pro ulozeni dat.
Uprav (dopln) svou proceduru o nalezeni prvni volne bunky (zde ve sloupci A:A) DestCll a prirad parametru Destination tuto promennou misto pevne adresy:

Kód: Vybrat vše

Sub test()

Dim DestCll As Range
' nalezne prvni volnou bunku na aktivnim listu ve sloupci A:A
Set DestCll = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Offset(1, 0)

With ActiveSheet.QueryTables.Add(Connection:="TEXT;E:\Excel\test\test.txt", _
Destination:=DestCll)
.....
karolko123
nováček
Příspěvky: 3
Registrován: 14 lis 2010 21:55

Re: Udaje z textu

Příspěvek od karolko123 »

Dík, večer to vyskúšam.
karolko123
nováček
Příspěvky: 3
Registrován: 14 lis 2010 21:55

Re: Udaje z textu

Příspěvek od karolko123 »

Ďakujem, funguje.
Nevieš dobrý zdroj na popis príkazov, prípadne aj príklady pre VBA?
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: Udaje z textu

Příspěvek od navstevnik »

Popis k prikazum a jejich parametrum je v napovede ( v procedure vyznac prikaz a potom F1), jsou k dispozici i zakladni priklady puziti.
Hledej na webu podle urovne svych znalosti, sleduj poradny a analyzuj reseni problemu, ....
Odpovědět

Zpět na „Kancelářské balíky“