VBA pulma...

köhelö

Yritän tehdä vba ohjelmaan toiminnon, jolla jokaisesta excelin näkyvissä olevasta taulukosta pitäisi saada laskettua yhteen tietyt solut. Kaikki yhteen laskettavat solut ovat samoilla paikoilla(esim.A1)...
Ongelma on minulle liian visainen, joten ajattelin josko jollakin teistä olisi hyviä ideoita asian toteuttamiseen. Kiittäen jo etukäteen ajastanne ja neuvoistanne.

6

921

    Vastaukset 6

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • kenties

      jotain tämmöistä:
      Sub summaa()
      Dim summa As Double
      For i = 1 To Worksheets.Count
      Sheets(i).Select
      summa = summa Cells(1, 1).Value
      Next i
      Sheet1.Select
      Cells(5, 1).Value = summa
      End Sub

      tämä laskee kaikista sheeteistä A1:t yhteen ja sijoittaa tuloksen sheet1:n soluun A5

      • köhelö

        Mitenkäs tossa kaavassa muutetaan noita soluja joita lasketaan yhteen... ja onko mahdollista laskea yhteen vain taulukoista jotka ovat VBA:ssa merkattu näkyviksi...

        Tästä oli jo kyllä paljon apua joten kiitos!


      • köhelö
        köhelö kirjoitti:

        Mitenkäs tossa kaavassa muutetaan noita soluja joita lasketaan yhteen... ja onko mahdollista laskea yhteen vain taulukoista jotka ovat VBA:ssa merkattu näkyviksi...

        Tästä oli jo kyllä paljon apua joten kiitos!

        Selvisi jo miten solu valitaan, mutta onko mahdollista valita tälläisella koodilla useampia soluja yhteenlaskettavaksi. Esim A1 yhteen ja tulos A5 ja B1 yhteen ja tulos B5 jne...

        Kiitoksia jo etukäteen vaivan näöstä...


      • Nimimerkki
        köhelö kirjoitti:

        Selvisi jo miten solu valitaan, mutta onko mahdollista valita tälläisella koodilla useampia soluja yhteenlaskettavaksi. Esim A1 yhteen ja tulos A5 ja B1 yhteen ja tulos B5 jne...

        Kiitoksia jo etukäteen vaivan näöstä...

        Voisitko käyttää seuraavanlaista:

        A5 soluun kaava:
        =sum(ekanTaulunNimi:viimeisenTaulunNimi!A1)

        B5 soluun kaava:
        =sum(ekanTaulunNimi:viimeisenTaulunNimi!B1)

        esimerkiksi:

        Sheet1 ja soluun A5 kaava:
        =sum(Sheet1:Sheet3!A1)

        Sheet1 ja soluun B5 kaava:
        =sum(Sheet1:Sheet3!B1)

        Testasin kolmella taulukolla ( Sheet1, Sheet2 ja Sheet3 ) toimi hyvin, sitten muutin taulukoiden nimiä, toimi myös sen jälkeen


      • jos työkirja sisältää kaavioita. On mennyt käsitteet Sheet ja Worksheet vähän sekaisin...
        keep Excelling


      • köhelö kirjoitti:

        Mitenkäs tossa kaavassa muutetaan noita soluja joita lasketaan yhteen... ja onko mahdollista laskea yhteen vain taulukoista jotka ovat VBA:ssa merkattu näkyviksi...

        Tästä oli jo kyllä paljon apua joten kiitos!

        Sub summaa()
        Dim summa As Double
        For i = 1 To Worksheets.Count
        If Worksheets(i).Visible = True Then
        summa = summa Worksheets(i).Range("A1")
        End If
        Next i
        Worksheets(1).Range("F1") = summa
        End Sub


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Olisko jo aika?

      Voisitko jo viimein puhua tai avata edes yhteydet sen mahdollistamiseksi.
      Ikävä
      108
      1307
    2. Kuin moni sun

      Perään on jäänyt itkemään?
      Ikävä
      88
      776
    3. Hyvä tietää

      Onko jotain, mitä hänen olisi hyvä tietää?
      Ikävä
      56
      714
    4. Miten uimaportaat voivat maksaa 250 000 euroa?

      Ei mitenkään, jokainen täysjärkinen sen tietää. Ei se ihme ettei verovarat riitä. https://www.is.fi/taloussanomat/art-2
      Maailman menoa
      121
      677
    5. Mikä oli suurin

      Ongelma välillämme?
      Ikävä
      84
      672
    6. Rakas, ihana rakkain elämäni rakkaus

      Minäkin tarvisin ne sanat sinulta. Tosin annat sen tunteen läsnäolollasi.. jos vain me vielä nähdään.. pelkään sitä maai
      Ikävä
      36
      643
    7. Jussi kutsuisi eduskunnan koolle, jos joku pyytäisi

      Eikös oppositio ole huudellut eduskuntaa koolle jo monta viikkoa? "– En ole saanut siihen liittyvää pyyntöä tai toivett
      Maailman menoa
      104
      636
    8. Hei gaggelibylly ootko valmis?

      Tuun kohta hakee sut ratsullani miesprinsessa ❤️
      Ikävä
      77
      570
    9. Rakastamisesi tarkoitus

      Mikä oli kaiken tarkoitus? En sitä tiedä, en ymmärrä. Olet mielessäni, alati. Olen miettinyt. Ei sillä taida olla merki
      Ikävä
      49
      520
    10. Martinalle onnea

      Kaunis Martina täyttää tänään 44 vuotta! Olkoon syntymäpäivä iloa ja onnea täynnä.
      Kotimaiset julkkisjuorut
      215
      509
    Aihe