Moi,
Pitäisi saada mittalaitteen mittaustuloksia Excel-taulukkoon. Tekstitiedoston vaakarivissä on 500 -pistettä vaakasuorassa. Pystysuunnassahan saa kyllä monta tuhatta. Haluaisin koko taulukon tuotua sisään, mutta Excel herjaa että taulukko ei latautunut täydellisesti. Tietääkö joku miten
Exceliä voisi harhauttaa:) Tietysti voisi editoida ennen tiedoston latausta, mutta miten?
t:Pete
Pitäisi saada mittalaitteen mittaustuloksia Excel-taulukkoon. Tekstitiedoston vaakarivissä on 500 -pistettä vaakasuorassa. Pystysuunnassahan saa kyllä monta tuhatta. Haluaisin koko taulukon tuotua sisään, mutta Excel herjaa että taulukko ei latautunut täydellisesti. Tietääkö joku miten
Exceliä voisi harhauttaa:) Tietysti voisi editoida ennen tiedoston latausta, mutta miten?
t:Pete
Vastaukset 4
Vanhimmat
Kyllä nuo tiedot saa Exceliin siirrettyä, mutta ei yhdelle välilehdelle. Tämä siksi että Excelissä on rajoituksena 256 saraketta / välilehti, älä kysy miksi... :)
Eipä tuossa auta muuta kuin että jaat tekstitiedoston sarakkeet kahdelle välilehdelle esim. jonkun toisen taulukkomuotoisen ohjelman kautta (Openofficessa ei taida olla tuota rajoitusta). Tosin samallahan melkein kannattaa tuossa tapauksessa tehdä koko työ toisella taulukko-ohjelmalla, jos vaan mahdollista...
Hanki Xess laskutaulukko niin menee 1024 saraketta ja miljoona riviä.
Toimii vain NT ja Unix, mutta eikös XP ole NT?
Moi, en saanut sitä Xessiä toimimaan kun en saanut hummingbirdin exceediä toimimaan. Niitäkin on ainakin 5 erilaista ja jostain syystä exceedin asennus ei onnistunut. Mikäköhän exceed pitäisi ladata XP:hen?
Tietämättä paremmin kenttien erotinta ja onko kenttien tiedot lainausmerkkien sisällä vai ei-muokkaa koodia itsellesi sopivaksi
Lukee nyt tämmöstä...
"Kenttä1","Kenttä2","Kenttä3","Kenttä4",...
1,2,3,4,...
Sub TuoPitkä()
Dim TuontiAlue As Range
Dim r As Long, c As Integer
Dim NykRivi As Long
Dim Data As String
Dim Kirjain As String
Dim Teksti As String
Dim i As Integer
Dim NykTaulukko As Worksheet
'Luodaan uusi työkirja ja avtaan 1 taulukko
Workbooks.Add xlWorksheet
'muuta tiedoston nimeä
Open ThisWorkbook.Path & "\Pitkä.txt" For Input As #1
r = 0
c = 0
Set TuontiAlue = ActiveWorkbook.Sheets(1).Range("A1")
Application.ScreenUpdating = False
'Luetaan eka rivi ja lisätään taulukkoja jos on tarve
NykRivi = NykRivi 1
Line Input #1, Data
For i = 1 To Len(Data)
Kirjain = Mid(Data, i, 1)
'Yli 256 saraketta?
If c 0 And c Mod 256 = 0 Then
Set NykTaulukko = ActiveWorkbook.Sheets.Add(after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count))
Set TuontiAlue = NykTaulukko.Range("A1")
c = 0
End If
'Kentän loppu? vaihda pilkku jos ,joku muu erotinmerkki
If Kirjain = "," Then
TuontiAlue.Offset(r, c) = Teksti
c = c 1
Teksti = ""
Else
'ohitetaan lainausmerkki
If Kirjain Chr(34) Then _
Teksti = Teksti & Mid(Data, i, 1)
'Rivin loppu?
If i = Len(Data) Then
TuontiAlue.Offset(r, c) = Teksti
c = c 1
Teksti = ""
End If
End If
Next i
'luetaan loput tiedot
c = 0
NykRivi = 1
Set TuontiAlue = ActiveWorkbook.Sheets(1).Range("A1")
r = r 1
Do Until EOF(1)
Set TuontiAlue = ActiveWorkbook.Sheets(1).Range("A1")
NykRivi = NykRivi 1
Line Input #1, Data
Application.StatusBar = "Siirretään riviä " & NykRivi
For i = 1 To Len(Data)
Kirjain = Mid(Data, i, 1)
'Yli 256 saraketta?
If c 0 And c Mod 256 = 0 Then
c = 0
Set TuontiAlue = TuontiAlue.Parent.Next.Range("A1")
End If
'kentän loppu. Vaihda pilkku jos ,joku muu erotinmerkki
If Kirjain = "," Then
TuontiAlue.Offset(r, c) = Teksti
c = c 1
Teksti = ""
Else
'Ohitetaan lainausmerkki
If Kirjain Chr(34) Then _
Teksti = Teksti & Mid(Data, i, 1)
'Rivin loppu?
If i = Len(Data) Then
TuontiAlue.Offset(r, c) = Teksti
c = c 1
Teksti = ""
End If
End If
Next i
c = 0
Set TuontiAlue = ActiveWorkbook.Sheets(1).Range("A1")
r = r 1
Loop
Close #1
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub