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

846

    Vastaukset

    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. Kuka pistetty kylmäksi

      Ketähän joutunu puukkohipan uhriksi? Tietääkö kukkaan?
      Kajaani
      40
      3834
    2. Mietin että

      Onko tarinallamme vielä luvussa tilaa kohtaamiselle vai jääkö se tähän.
      Ikävä
      100
      1809
    3. Mira Luoti ja Julkkisselviytyjät 2017 - Ketä kuumottaa juuri nyt?

      HS: Tässä ohjelmassa Mira Luoti kertoi kokeneensa seksuaalista väkivaltaa "PMMP-yhtyeen Mira Luoti kertoo Ylen uudessa
      Kotimaiset julkkisjuorut
      64
      1716
    4. Kaipaatko sinä

      Yhtään meidän katseita
      Ikävä
      136
      1645
    5. Oletko samaa mieltä

      Että on parempi olla erillään?
      Ikävä
      97
      1391
    6. Törkeä eläinsuojelurikos Sonkajärvellä

      Pohjois-Savossa Sonkajärvellä noin 40 kissaa ja reilut 10 koiraa on jouduttu lopettamaan kaltoinkohtelun vuoksi, kertoo
      Sonkajärvi
      32
      1308
    7. MESTARI SIVALTAA JÄLLEEN

      https://www.is.fi/politiikka/art-2000011436243.html Suomen ainoa Mestari lausuu tosiasiat Sannasta , Tuomiojasta ja hil
      Kajaani
      304
      1194
    8. Kirjallinen varoitus

      On annettu eräälle henkilölle. hyssytellään kuitenkin asiasta
      Äänekoski
      57
      1155
    9. Jotkut ihmiset pelkäävät syöpää sairastavaa

      On hauskaa, kun kertoo jollekin, että "minulla on syöpä". Jotkut käyttäytyvät kuin se olisi tarttuva tauti. Eivät uskall
      Sinkut
      130
      1072
    10. Julkisuuden henkilön päiväin päätös

      Sitä vaan, että kyllä nyt kaikki tietävät kuka oli Eemeli Peltola (kansanedustaja, joka päätti päivänsä eduskuntatalossa
      Sinkut
      271
      1021
    Aihe