Síða 1 af 1

Breyta txt skrám í massavís og flytja inn í excel skjal.

Sent: Fim 10. Okt 2013 01:57
af Snorrmund
Sælir, ég er með um hundrað txt skrár sem innihalda allar meira og minna sömu upplýsingar þeas sama uppsetning á upplýsingunum. Kemur semsagt dagsetning og tími svo eitt gildi sem verið er að logga, svo næsta.
Vesenið sem ég er að lenda í er að dagsetningin er sett fram sem "01:44:31 06-30-2013" Og þar sem að ég er að reyna að koma þessu öllu yfir í excel þá skilur hann ekki 06-30(30. júní) sem dagsetningu, hann skilur hinsvegar 07-01 sem sjöundi janúar. Ég var að spá hvort það væri ekki hægt að redda þessu þannig að víxla sjálfkrafa 10 og 11 staf við 13 og 14 staf í hverri línu.
Einnig eru gildi þarna sem verið er að logga sem eru tölur og það er ekki notuð komma heldur punktur, ég veit reyndar að ég get breytt stillingunni fyrir þetta í excel en það væri ekkert verra ef maður er að þessu á annað borð að víxla því.

Seinasta sem mig langaði til að gera þegar ég er búinn að koma dagsetningunum og gildunum yfir á rétt form er að flytja þetta allt inní eitt excel skjal. Ég er alveg handviss um að það sé hægt að gera þetta en ég er bara ekki alveg nógu viss hvernig er best að gera þetta sjálfvirkt.

Fyrirfram þakkir og ef þetta er alveg hrikalega óskiljanlegt þá get ég örugglega reynt að útskýra þetta betur! :)

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Sent: Fim 10. Okt 2013 02:20
af bigggan
það að excell ekki skilur dagsetning þá breyturu bara kassana i "text" inna properties.

til að flytja hlutirnir til excel veldu import/export. veldu þa .txt

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Sent: Fim 10. Okt 2013 02:54
af Snorrmund
Reyndar hjálpar það lýtið að láta celluna halda að þetta sé bara texti þar sem þá verður gildið sem cellan sýnir að "41312.0147106481" í staðinn fyrir eitthvað dagsetningarformat. Einnig væri ég meira til í að geta breytt þessu þannig að hægt væri að nota dagsetninguna úr logginu við framsetningu gagnanna. En annars þetta import/export sem þú talar um er það sami hlutur og að fara í Data flipan og velja "From text" þar ? Ef ég vel þann takka þá get ég aðeins valið eina skrá í einu ef að ég geri það. Í augnablikinu eru þetta rétt rúmlega hundrað skrár og bætist ein ný við á hverjum sólahring. Var aðallega að spá í að geta gert þetta sjálfvirkt þannig að ég gæti bara farið einusinni í mánuði og hlaðið niður öllum skránum og keyrt þær sjálfkrafa inn í excel og notað þær áfram þar. Það er ástæðan fyrir því að ég vill helst hafa einhverja leið sem mest sjálfvirk. Þakka annars fyrir svarið, en þú mátt kannski útskýra betur þennan import/export fídus sem þú talar um, ég finn hann amk ekki.

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Sent: Fim 10. Okt 2013 07:12
af KermitTheFrog
Virðist vera ruglingur með US formatið. Man ekki alveg hvernig maður breytir því í EU. En þú getur kannski googlað það, þ.e. breyta stillingunum í excel.

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Sent: Fim 10. Okt 2013 12:06
af bigggan
import/export virkar bara å 1 og 1 txt skrá i einu held ég.

En þu getur notað makro til að gera þetta, herna er eitt makro ég fann á netinu:

Kóði: Velja allt

Option Explicit
 
Sub Import_All_Text_Files_2007()
     
    Dim nxt_row As Long
     
     'Change Path
    Const strPath As String = "C:\Test\"
    Dim strExtension As String
     
     'Stop Screen Flickering
    Application.ScreenUpdating = False
     
    ChDir strPath
     
     'Change extension
    strExtension = Dir(strPath & "*.txt")
     
    Do While strExtension <> ""
         
         'Adds File Name as title on next row
        Range("A65536").End(xlUp).Offset(1, 0).Value = strExtension
         
         'Sets Row Number for Data to Begin
        nxt_row = Range("A65536").End(xlUp).Offset(1, 0).Row
         
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & strPath & strExtension, Destination:=Range("$A$" & nxt_row))
            .Name = strExtension
            .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 = True
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = True
            .TextFileSpaceDelimiter = True
            .TextFileOtherDelimiter = "="
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
         
        strExtension = Dir
    Loop
     
    Application.ScreenUpdating = True
     
End Sub


Þú setur bara inn hvar skrárnar þinar eru inn a þar sem stendur "C:\Test\"
Til þess að opna makro yttu á

1. Alt+F11
2. Insert -> Module
3. Paste
4. breyta staðsetningin "c:\test"
5. lokaaðu gluggan
6. Yttu á Alt+F8
7. veldu forritið "Import_All_Text_Files_2007"
8. ???
9. Profit

Mundu að profa forritið fyrst áður enn þu notar það á skrárnar þinar

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Sent: Fim 10. Okt 2013 13:18
af Vaski
er ekki bara betra að sameina textaskránar í eina og import síðan þeirri skrá inní excel?
í linux væri þetta eitthvern vegin svona (fer eftir nafnakerfinu sem þú notaðir hversu einfalt þetta er)

Kóði: Velja allt

cat filename*.txt > AllarSkrárnarInníEinni.txt

En það leystir náttúrlega ekki dagsetningarvandan þinn, en mikið djöfull getur verið leiðinlegt að vinna með dagsetningu milli forrita.

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Sent: Fim 10. Okt 2013 21:09
af Snorrmund
Takk kærlega fyrir öll svörin, þegar að Vaski benti á "cat" þá datt mér í hug að nota bara type til að redda þessu. Gat þannig sameinað allar skrár í x mánuði yfir í skrá sem hét bara x-manudur.txt, gerði bara .bat skrá sem að gerði sér skrá fyrir hvern mánuð.
Síðan þegar að ég importaði einum og einum mánuði inn þá valdi ég að nota bæði tab og space til að skipta upp txt skjalinu þá komu tíminn og dagsetningin inn í mismunandi dálki. Þá gat ég valið að flytja dagsetninguna inn sem MM/DD og þar af leiðandi er þetta alltsaman farið að virka rétt, ekki alveg jafn mikil sjálfvirkni og ég vonaði, en þegar ég er búinn að liggja yfir macroinu sem að bigggan sendi inn þá getur maður kannski fiktað sig meira í gegnum þetta og gert þetta meira sjálfvirkt.

Takk kærlega fyrir öll svörin, ef það er einhver sem lumar á betri lausn þá má endilega henda því hér inn. :)