Tekstitiedostosta datan tuominen Exceliin niin, että se tekee sen oikein (VBa)

  • 26 Vastauksia
  • 862 Lukukerrat

0 jäsentä ja 1 Vieras katselee tätä aihetta.

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
Tarratulostepohjan tekeminen.
Txt-tiedostossa tietueet allekkain per rivi. Täytyy saada täyttymään 3 x 10 -kokoisina sivuina kerrallaan.
Nyt menee vain allekkain, jolloin kaksi saraketta jää käyttämättä
Ei.

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
Eli siis kun kielitaito loppui suomeksikin kesken. Tarvitsen hakusanat, joilla googlettaa.
Ei.

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Onko rivillään aina koko data, joka tarvitaan yhteen tarraan, vai onko ne päällekkäin?

Pikku Kakkosen posti, PL347, 33101, TAMPERE 10

vaiko:
Pikku Kakkosen posti
PL 347
33101
TAMPERE 10

Me first (rules of traffic)

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
tietueet allekkain per rivi

pitää nuuskia, millä OFFSET-jutulla sen saa täyttämään niin, että se vain lopettaa täyttämisen sitten kun eka tyhjä rivi tulee vastaan.
Ei.

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Mikä merkki erottaa tietueen kentät? Pilkku vai tabulaattori (vai mikä)

Pikku Kakkosen posti, PL347, 33101, TAMPERE 10
Pikku Kakkosen posti PL347 33101 TAMPERE 10
Pikku Kakkosen posti*PL347*33101*TAMPERE 10

Me first (rules of traffic)

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
tietueet allekkain per rivi
tietueessa ei ole kenttiä
rivi on tietue

Miten OFFSET saadaan tekemään A-sarakkeeseen luettavista riveistä 3 x p -kokoisen taulukon?
Ei.

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Siis haluat sen rivin printattavaksi tarraan yhtenä pötkynä?

Me first (rules of traffic)

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
En.
Haluan, että taulukko lähte täyttymään 3 x p -taulukoksi.
Ei.

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Onko tuo offset linuxin tekstinkäsittelyohjelma vai käytätkö latomakonetta?

Me first (rules of traffic)

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Enpä ole moisen kanssa joutunut vastakkain sitten BASIC-ajan

Me first (rules of traffic)

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
Tuo on VBa:n Offset.
Sen, mitä töissä ehdin googletella, niin löysin vain jeesiä, miten luodaan tietyn mittanen taulukko. Ite tarttis semmosen, että se tekee taulukon niin pitkäksi ku tavaraa riittää. Oli sitten 12 tai 220 näytettä, mitä pitää saada kirjattua. Sitten ei tartte ku painaa tulostusnappia, niin saa tarrat näytteiden kylkeen. :jepso:

Basic. :drool:
Ei.

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Yksi temppu, joka tulee käsityönä mieleen, on että otat nuo exceliin päällekkäin ja sitten pätkit kolmeen ja copypaste sarakkeet 2 ja 3. (mahdollisesti toinen taulukko, niin ei jää vahingossa tuplia)

Me first (rules of traffic)

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Aha - siis järjestys on myös tärkeä  -   :serlokkismoke:

Siihen pitänee tehdä laskuri, joka laskee kolmeen ja kopioi nuo 2 saraketta -
Vahinko että on mennyt jo niin kauan tuosta excelin  (ja dBasen) käytöstä, että ei heti sytytä...

Me first (rules of traffic)

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
Ei missään nimessä, koska sen pitää olla niin helppo, että työkaverit osaa sitä käyttää.
Ne painaa nappia, valittee tiedoston, tiedosto aukeaa oikean kokoseksi taulukoksi, sitten painetaan tulostusnappia.
Mie olen melkolailla copypastaamista vastaan varsinki töissä, koska siinä ovat onnistuneet hävittämään näytetunnuksia, siirrelleet vanhoja tunnuksia uusien tilalle, ja lopulta sekottaneet laskutusta ja tulosten raportointia.

Olen jalostanu jo aika hyvin tuota, että alussa luodaan yksi tekstitiedosto, ja sieltä sitten haetaan muille makroille näytetiedot. Mitä vähemmän tarttee kirjottaa uusiksi samaa tietoa, sitä varmemmin vältytään lähettämästä vuoden 2045 näytteiden tuloksia vuonna 2015. :psycho:
Ei.

*

Poissa =Juku=

  • sekamies
  • IHQ Vippi
  • Vieroituksen tarpeessa
  • *
  • 66265
  • Karma: +39/-2
  • Sukupuoli: Mies
  • Minä itse! vain minä itse? vain???
    • jos joku joskus jotakin...
Oikea periaate jos monta käyttäjää!

Me first (rules of traffic)

*

Poissa Lexa

  • Server Admin
  • Ylläpipopää
  • Vieroituksen tarpeessa
  • *
  • 65135
  • Karma: +42/-2
  • Sukupuoli: Mies
  • Sqrt(-1) love you.
    • Twitter
    • Facebook
    • Google+
    • Youtube
    • KilpinenOnline
Jos tahdot että yksi txt-rivi on yksi excel tietue, niin delimiter on chr(10) eli rivivaihto.
Tuota kolmeen jakoa pitääkin jo miettiä :think:
"Lexa on koko Apache foorumin nettipoliisien PÄÄLLIKKÖ!" -Arto Lauri

Bloody Mary, Full of Vodka. Blessed Are You Among Cocktails.
Pray For Me Now, At The Hour of My Death - Which I Hope Is Soon.
Amen.

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
Ei.
Ei ei ei ei ei ei ei.
Excel osaa hakea jo txt:n niinkuin pitää, yksi rivi yhteen soluun, niin että A-sarakkeessa kaikki ovat allekkain, kukin omassa solussaan.
Nyt pitää saada järjestys muutettua niin, että taulukko täyttyy järjestyksessä A1, B1, C1, A2, B2, C2, ...
Eli se pyöräytetään offsetilla taulukoksi.
Mutta tarttee saada se pätkä koodia siihen loppuun, että se täyttää sitä taulukkoa niin pitkään että tulee vastaan tyhjä solu.
Pitänee laittaa se etsimään eka tyhjä solu A-sarakkeessa ja siittä matema tiikalla tekemään taulukko, kun offset tarttee taulukolle jotkut rajat.
Ei.

*

Poissa Lexa

  • Server Admin
  • Ylläpipopää
  • Vieroituksen tarpeessa
  • *
  • 65135
  • Karma: +42/-2
  • Sukupuoli: Mies
  • Sqrt(-1) love you.
    • Twitter
    • Facebook
    • Google+
    • Youtube
    • KilpinenOnline
Juu, ymmärsin mitä hait takaa, mutta en nyt ilmeisesti ihan ymmärrä mitä haet offsetilla. :think:
"Lexa on koko Apache foorumin nettipoliisien PÄÄLLIKKÖ!" -Arto Lauri

Bloody Mary, Full of Vodka. Blessed Are You Among Cocktails.
Pray For Me Now, At The Hour of My Death - Which I Hope Is Soon.
Amen.

*

Poissa Lexa

  • Server Admin
  • Ylläpipopää
  • Vieroituksen tarpeessa
  • *
  • 65135
  • Karma: +42/-2
  • Sukupuoli: Mies
  • Sqrt(-1) love you.
    • Twitter
    • Facebook
    • Google+
    • Youtube
    • KilpinenOnline
Nyt kun tätä vähän mietin, niin onko jotain erityistä syytä miksi tää pitäis tehdä Excelillä? Wordissahan on ihan tähän tarkoitettu toiminto valmiiksi. :think:
"Lexa on koko Apache foorumin nettipoliisien PÄÄLLIKKÖ!" -Arto Lauri

Bloody Mary, Full of Vodka. Blessed Are You Among Cocktails.
Pray For Me Now, At The Hour of My Death - Which I Hope Is Soon.
Amen.

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
Ei.

*

Poissa Lexa

  • Server Admin
  • Ylläpipopää
  • Vieroituksen tarpeessa
  • *
  • 65135
  • Karma: +42/-2
  • Sukupuoli: Mies
  • Sqrt(-1) love you.
    • Twitter
    • Facebook
    • Google+
    • Youtube
    • KilpinenOnline
Selevä. Ite tekisin Mail mergellä. :jees: olisi helpompi macrottaakin. Mutta jos mulle tulee sulle joku ratkasu malli mieleen niin kerron kyllä.

Joku looppihan tossa vois toimia...
"Lexa on koko Apache foorumin nettipoliisien PÄÄLLIKKÖ!" -Arto Lauri

Bloody Mary, Full of Vodka. Blessed Are You Among Cocktails.
Pray For Me Now, At The Hour of My Death - Which I Hope Is Soon.
Amen.

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
=OFFSET($B$4,(BlockSize*(ROW()-ROW(F$4)))+(COLUMN()-COLUMN($F4)),0,1,1)
Mutta p rivillä.
Mie sen tässä illan aikana ehin melkein hoksia, itelleni lähetin sähköpostin mutta en helkkari alkanu valmiimmaksi tekemään ku ei palkkaa makseta ku kustannuspaikalla vietetystä ajasta.

Excel, koska saan sitten naittaa samaan tiedostoon makron joka tekee tietyllä tavalla muotoillun txt:n joka nimetään uudelleen toiselle tiedostopäätteelle, samaten ku saan luoda samoista näytetunnuksista kolmannella tavalla muotoillun csv:n joka sitten taas nimetään erilaiselle näytetunnukselle, kumpainenkaan näytetunnus ei tietenkään ole excelillä ennestään tiedossa. Näiten kans sitten FSO muistella.
Yksi tiedosto, kaksi nappia kumpaa vain tarvitsee, valitse txt, saa valmis lopputulos. Sen jälkeen sujuu nautakarj laboranttinaisilta. :psp:

Kaiken takana tosiaan se, että tarvitsee vain luoda yks txt, joka on jo lähdössä oikein näytenimineen. Ei tartte kymmentä eri tiedostopohjaa sitten muokata jokaista erikseen, vaan kaikkiin saadaan vietyä yksi ja sama txt.
Ei.

*

Poissa Lexa

  • Server Admin
  • Ylläpipopää
  • Vieroituksen tarpeessa
  • *
  • 65135
  • Karma: +42/-2
  • Sukupuoli: Mies
  • Sqrt(-1) love you.
    • Twitter
    • Facebook
    • Google+
    • Youtube
    • KilpinenOnline
Tuohan on ihan Excel -kaava, ei VBa -macro. Ja tuossa ois tosiaan kiinteä rivimäärä. Vastaava jossa ois maksimimäärä määritelty, muttei tiukkaa rivimäärää, olisi tämäntyyppinen =IF((BlockSize*(ROW()-ROW(F$14)))+(COLUMN()-COLUMN($F14))>=ROWS($B$4:$B$18),"",OFFSET($B$4,(BlockSize*(ROW()-ROW(F$14)))+(COLUMN()-COLUMN($F14)),0,1,1))

:think:

VBa:

Koodia: [Valitse]
Sub ColumnToTable()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ColumnToTable
' This transforms the column of data with a defined name
' of "ColumnData" to a two dimensional table whose upper
' left cell is named "StartTable". The block size of
' the data in ColumnData is specified by C_BLOCK_SIZE.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   
    Dim ColumnData As Range     ' The original column of data
    Dim RNdx As Long            ' Row index
    Dim CNdx As Long            ' Column index
   
    Dim StartRow As Long        ' Row number of Range("StartTable")
    Dim StartColumn As Long     ' Column number of Range("StartTable")
    Dim N As Long               ' Index into ColumnData
    Dim WS As Worksheet         ' Worksheet reference
   
    Const C_BLOCK_SIZE = 5      ' Block size of data in ColumnData
   
    '''''''''''''''''''''''''''
    ' Initialize the variables.
    '''''''''''''''''''''''''''
    Set ColumnData = Range("ColumnData")
    StartRow = Range("StartTable").Row
    StartColumn = Range("StartTable").Column
    RNdx = StartRow
    CNdx = StartColumn
    Set WS = Worksheets("UsingVBA")
    N = 0
   
    ''''''''''''''''''''''''''''''''''''''
    ' Loop across then down filling
    ' cells with element N of ColumnData.
    ''''''''''''''''''''''''''''''''''''''
    For RNdx = StartRow To (StartRow + (ColumnData.Rows.Count / C_BLOCK_SIZE))
        For CNdx = StartColumn To StartColumn + C_BLOCK_SIZE - 1
            N = N + 1
            WS.Cells(RNdx, CNdx).Value = ColumnData.Cells(N, 1)
        Next CNdx
    Next RNdx
   
End Sub

Ja lähde tälle: http://www.cpearson.com/excel/ColumnToTable.aspx
"Lexa on koko Apache foorumin nettipoliisien PÄÄLLIKKÖ!" -Arto Lauri

Bloody Mary, Full of Vodka. Blessed Are You Among Cocktails.
Pray For Me Now, At The Hour of My Death - Which I Hope Is Soon.
Amen.

*

Poissa nyyyps

  • Työpaikan Timppa
  • Pakkohoitotapaus
  • *
  • 133100
  • Karma: +97/-0
  • neljäsluokkalainen
Maksimimäärää ei voi laittaa, koska se täyttää loput solut nollilla.

Tietojen syöttö/nappivälilehti.
Tarravälilehti.
ip-välilehti, jokaiselle menetelmälle oma, sieltä indeksillä valinta mitä menee mihinkin välilehteen ja satunnaisen duplikaatin lisääminen
jne joista vain tietojen syöttö näkyvillä.

ja sama paska vielä toisen ja kolmannen kerran, koska useammanlaiset batchit

nyt nukkumaa
Ei.

*

Poissa Lexa

  • Server Admin
  • Ylläpipopää
  • Vieroituksen tarpeessa
  • *
  • 65135
  • Karma: +42/-2
  • Sukupuoli: Mies
  • Sqrt(-1) love you.
    • Twitter
    • Facebook
    • Google+
    • Youtube
    • KilpinenOnline
Eikun just tolla jossa on maksimimäärä, mutta ei kiinteää määrää, ei tule niitä nollia. Kiinteällä tulee kun pitää saada rivit täyteen, tuo syöttää vain tyhjää maksimiin asti.
"Lexa on koko Apache foorumin nettipoliisien PÄÄLLIKKÖ!" -Arto Lauri

Bloody Mary, Full of Vodka. Blessed Are You Among Cocktails.
Pray For Me Now, At The Hour of My Death - Which I Hope Is Soon.
Amen.

 


alternate login