VBA pulma...

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.
6923
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

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

Äänestä
  • 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!

    Äänestä

  • 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ä...

    Äänestä

  • 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

    Äänestä

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

    Äänestä

  • 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

    Äänestä

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

Kommentoi aloitusta


köhelö kirjoitti:

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.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu