Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Excel: Sarakkeen kopiointi toiseen tauluun

Hannes x2 [21.01.2015 21:14:19]

#

Moi

Eka viesti :)

Tuodaan X määrä rivejä taulukkoon esim A sarakkeeseen, soluihin 1-2000. Määrä vaihtelee. Tuotu solun arvo on tekstinä joka on kuitenkin lukuarvo.

Tarkoitus tehdä jäsentelyä / grafiikkaa tuodusta datasta toiselle välilehdelle niin että aina ensimmäistä välilehdestä luetaan arvoja.

Tekstikentän arvon saan muutettua lukuarvoksi, tähänkin meni hetki ennen kuin keksin miten se tehdään sattumatta ensimmäiseen talukukkoon.

Varsinainen ongelma. Miten luetaa ensimmäisen talukon A sarakkeen arvot toiselle välilehdelle vaikka ei tiedetä rivien todellista määrää. Voi tietysti tehdä kaavat koko alueelle riveistä 1-2000 mutta jos esimmäisen välilehden arvoja tuodaankin 2200 riviin asti ei saada kaikkia arvoja luettua toiseen välilehteen.

Voiko tehdä jonkin tarkastuksen että onko vielä seuraavassa solussa arvo ja luetaan se ja siirretään.. jne..

Exceliä pitää käyttää tässä hommassa, makrot mahdollisia.

Hannes

Grez [21.01.2015 21:18:51]

#

Ihan yleisesti, miksi se täytyy tallentaa tekstinä eikä lukuarvona?

Jos ne ihan lukuina on, niin koko A-sarakkeen voi summata =Summa(A:A)

Toki myös Makrolla (VBScriptillä) helppo toteuttaa

Dim r As Long
r = 1
Dim summa As Double
While Cells(r, 1).Value <> ""
    summa = summa + CDbl(Cells(r, 1))
    r = r + 1
Wend

Hannes x2 [21.01.2015 21:37:50]

#

Tieto mistä luvut saadaan taulukkoon muuttaa solun tekstisoluksi.

käytän summa.jos.joukko funktiota tietojen laskentaan. Ehtoalueita tulee 2kpl ja saan summat laskettua (A:A) sarakkeesta muiden tietojen pohjalta kun luvut on saatu toiselle välilehdelle laskettavaksi.

Kaipaisin nyt apua miten toiselle välilehdelle saadaan siirrettyä ensimmäisen välilehden tekstikentässä olevat lukuarvot niin että ei tarvitsisi tehdä joka soluun kaavaa =lukuarvot!A1+0 .jne jolla saadaan lukuarvot kopioitua toiselle välilehdelle.

Onnistuu noinkin mutta kaavoja tulee tajuton määrä ja se että lukuarvojen määrä mahdollisesti paisuu tietää ongelmia.

Grez [21.01.2015 22:02:26]

#

Jos ne on talletettu tekstinä niin CTRL+A ja ensimmäisen solun kohdalla olevasta varoituspainikkeesta "Muunna luvuiksi"

Tai tosiaan tuo laittamani VBScript -makro lienee myös helppo toteuttaa.

Hannes x2 [21.01.2015 22:07:14]

#

Muuten hyvä vinkki mutta tuo ei ole vaihtoehto. Käyttäjiä useita, taulukkoa avataan usein. työhomma siis johon sekaantunut :(

Käyttäjien tarkoitus tarkastella graafia mikä on muodostunut, ei tehdä muuta ylimääräistä.

Voisi tuon kaavan laittaa koskemaan 60000 riviä mutta vaikuttaa viritykseltä...

neosofta [22.01.2015 06:20:16]

#

Private Sub CommandButton1_Click()

    For Each solu In Taul1.Range("A1:A" & CStr( _
    Taul1.Columns("A").SpecialCells(xlCellTypeLastCell).Row))
        summa = summa + Val(Replace(solu.Text, ",", "."))
    Next

    MsgBox summa

End Sub

Hannes x2 [24.01.2015 11:46:11]

#

Kiitoksia, tätä pitää koittaa soveltaa!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta