Moi! Minulla on tekstitiedostossa 10 riviä asiakastietoja tyyliin:
Nimi: Matti Möttönen
Osoite: Pihatie 4
jne.
Miten saan tuotua esim. kahden ensimmäisen rivin tiedot exceliin siten, ettei muut tiedot tule mukana? Lisäksi olisi hyvä, jos rivin alussa oleva "Nimi:" jäisi pois (tulisi pelkkä Matti Möttönen). Olen kokeillut tekstitiedoston tuomista, mutta se tosiaan tuo kaikki tiedot. Kiitos!
Tiedon tuominen tekstitiedostosta
3
760
Vastaukset
- juhakorkeapudas
Onko rivien määrä sama kaikkien henkilöiden kohdalla? Jos on, niin voit käyttää siihen pelkkää kaavaa.
Tuo tekstit ensin A-sarakkeeseen.
Tee B-sarakkeen 1. soluun kaava (=POISTA.VÄLIT(POIMI.TEKSTI(A1;ETSI(":";A1;1) 1;25))) ja toiseen soluun kaava (=A2).
Jätä kaikki muut solut tyhjäksi ennen seuraavaa nimeä.
Valitse B-sarakkeen kaikki solut joissa ovat vain yhden henkilön tiedot ja vedä alue oikeasta alakulmasta alaspäin, niin kauan, että tulet A-sarakkeen tekstien viimeiselle riville.
Valitse B-sarake -> Kopioi -> Liitä määräten -> Liitä: Arvot. hakee nyt vain asiakkaan nimen ja osoitteen samalle riville ja allekkain aktiiviseen taulukkoon
moduuliin...
Sub HaeTiedosotosta()
'hakee tiedostosta vain nimi ja osoitetiedot allekkain Excelin aktiiviseen taulukkoon
'tiedostorakenne
'Nimi: Matti Meikäläinen
'Osoite: Koulukuja 1
'...
'Nimi: Liisa Teikäläinen
'Osoite: Koulukuja 2
'...
Dim Tiedosto As String
Dim Haku1 As String
Dim Haku2 As String
On Error Resume Next
'muuta polku ja hakusanat oikeaksi
Tiedosto = "C:\kunde\koe.txt"
Haku1 = "Nimi"
Haku2 = "Osoite"
Range("A:B") = ""
Range("A1").Select
Open Tiedosto For Input As #1
While Not EOF(1)
Line Input #1, textline
If InStr(1, textline, Haku1, 1) > 0 Then
' jos oli Nimi: alussa niin tuo 7 merkistä alkaen, korjaa oikeaksi
ActiveCell = Mid(textline, 7)
End If
If InStr(1, textline, Haku2, 1) > 0 Then
' jos oli Osoite: alussa niin tuo 9 merkistä alkaen, korjaa oikeaksi
ActiveCell.Offset(0, 1) = Mid(textline, 9)
ActiveCell.Offset(1, 0).Select
End If
Wend
Close #1
End Sub- Anonyymi
Sana Marin sähköposti osoite
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1783741
Se oli siinä sitten
Yhdysvaltain presidentti Donald Trump on määrännyt kaiken maan Ukrainalle toimittaman sotilaallisen tuen tauolle, kertoo7262710Paljonko aikaa on kulunut siitä kun viimeksi tapasit hänet?
Päiviä? Viikkoja? Kuukausia? Vuosia?582554- 1462361
- 672046
Trump tekee rauhan Amerikan ja Venäjän ehdoilla
Ukraina luovuttaa Venäjän haluamat alueet Venäjälle. Ukraina luovuttaa Amerikan haluamat arvokkaat mineraalit Amerikall3151944- 311441
Syvälliset keskustelut
Olisivat tärkeintä ensisijaisesti hänen kanssaan Tulisi sellainen hetki, mutta kaikki meni pieleen211403Minulta loppuu aika
Halusin olla täydellinen. Nyt näyttää siltä että viimeinen kiristys jää puolitiehen, sillä h-hetki on jo ihan kohta käsi381377Olisipa sitä henkisesti eheämpi ja rohkeampi
mikään maallinen mammona ei itseäni kiinnosta, eikä sen menetys kiinnostus. Mutta kun kohtaa jonkun sykäyttävän ihmisen,161275