Excel taulukot

Minun pitäisi tehdä excelin työkirjaan 12 taulukkoa jossa yksi taulukko olisi aina yksi kuukausi. Näissä taulukoissa on numerotietoa ja niiden summa pitäisi tulaa aina viimeisen taulukon (kuukauden) johonkin sarakkeeseen. Taulukko pitäisi toimia siten että kun lisään perään uuden taulukon (kuukauden) niin ensimmäinen taulukko pitäisi poistua eli koko ajan olisi 12 viimeisen kuukauden tiedot käytössä. Miten tälläinen onnistuu?
141336
Äänestä

Muut lukivat myös

Vastaukset 14

Vanhimmat

tämä ei taida olla ihan haluamasi ratkaisu mutta itse käytän tällaista yksinkertaista versiota:
ensimmäinen taulu on nimetty Alku,viimeinen on Yhteensä ja välissä kuukausitaulut. Summakaavat Yhteensä taulussa ovat muotoa =SUMMA(Alku:Yhteensä!xx). Kun kuukausi vaihtuu, tuhoan vanhan kuukausitaulun ja lisään väliin uuden.
Varmasti tähän on parempikin ratkaisu olemassa mutta minulle riittää tämmöinen helppo systeemi.

Äänestä

Eli meillä himassa on kaks tietokonetta, toisessa Windows 98/95 (aika vanha kone) ja toises Windows XP home (vuoden vanha). Tää vanhempi kone on ollut jo noin vuoden rikki, luultavasti näytönohjain on rikki.

Kysymys kuuluu: kannattaaks vanhaa konetta enää korjata vai ostanko ohjelmat uuteen koneeseen?

Vanhassa koneessa on Excel ja PowerPoint, joita tarvittais just nyt. Uudessa niitä ei ole. Kannattaako korjata vanha kone vai ostaa uuteen koneeseen nää ohjelmat?

2. kysymys: Mitä maksaa seuraavat ohjelmat: Excel, Power Point, Access, Paint Shop Pro 8 (tai joku vastaava), Corel Draw 9 (tai joku vastaava)?? Ja mistä niitä saa ostaa?

Olisin tosi kiitollinen avusta. Vastatkaa tänne tai mailatkaa osoitteeseen [email protected]
Kiitän tosi paljon jo etukäteen, ootte enkeleitä!!

Äänestä

Jos lisätään uusi taulukko niin mihin tiedot kirjoitetaan (solut)?
Onko tietojen paikka riippuvainen kuukausitaulukosta(esim. tammikuu taulukosta soluun A1, helmikuu taulukosta B2 jne?
Antamallasi tiedoilla ei voi tehdä koodia.Muutoinhan helppo nakki...

Äänestä
  • jos jokaisen kuukauden kohdalla on esim kulu 1, kulu 2 jne soluissa E1-E19 ja niiden summa lasketaan esim soluun E20. Näiden 12 kuukauden summat sitten lasketaan joko siihen viimeiseen taulukkoon esim soluun E22 tai sille voi olla oma laulukko esim "12 kk yhteensä"- taulukko.
    Ja vanhin taulukko tosiaan poistuu kun tehdään uusi taulukko.

    Äänestä

  • kale kirjoitti:

    jos jokaisen kuukauden kohdalla on esim kulu 1, kulu 2 jne soluissa E1-E19 ja niiden summa lasketaan esim soluun E20. Näiden 12 kuukauden summat sitten lasketaan joko siihen viimeiseen taulukkoon esim soluun E22 tai sille voi olla oma laulukko esim "12 kk yhteensä"- taulukko.
    Ja vanhin taulukko tosiaan poistuu kun tehdään uusi taulukko.

    Tee taulukot Tammikuu-Joulukuu ja 12 kk Yhteensä.
    Lisää 12 kk Yhteensä taulukkoon komentopainike,johonka liität seuraavan koodin

    Private Sub CommandButton1_Click()
    Call UusiTaulukko
    End Sub

    Lisää moduuli ja sinne seuraava koodi

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(13).Activate
    Range("AA1") = Sheets(11).Name
    Range("AA1").AutoFill Range("AA1:AA2")
    Sheets(12).Name = Range("AA2").Text
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    Range("AA1:AA12").ClearContents
    For i = 1 To 12
    x = x Sheets(i).Range("E20")
    Next
    Range("E20") = x
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Koodi lisää automaattisesti seuraavan kuukauden nimisen taulukon sekä sinne summakaavan soluun E20, sekä laskee summat soluista E20 yhteenveto taulukkoon.

    Äänestä

  • Kunde kirjoitti:

    Tee taulukot Tammikuu-Joulukuu ja 12 kk Yhteensä.
    Lisää 12 kk Yhteensä taulukkoon komentopainike,johonka liität seuraavan koodin

    Private Sub CommandButton1_Click()
    Call UusiTaulukko
    End Sub

    Lisää moduuli ja sinne seuraava koodi

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(13).Activate
    Range("AA1") = Sheets(11).Name
    Range("AA1").AutoFill Range("AA1:AA2")
    Sheets(12).Name = Range("AA2").Text
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    Range("AA1:AA12").ClearContents
    For i = 1 To 12
    x = x Sheets(i).Range("E20")
    Next
    Range("E20") = x
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Koodi lisää automaattisesti seuraavan kuukauden nimisen taulukon sekä sinne summakaavan soluun E20, sekä laskee summat soluista E20 yhteenveto taulukkoon.

    Edellisessä vastauksessani 12 kk Yhteensä solussa oleva kaava ei päivittynytkään automaattisesti joten tässä korjattu versio

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Dim a As String
    Dim b As String
    Dim c As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(13).Activate
    Range("AA1") = Sheets(11).Name
    Range("AA1").AutoFill Range("AA1:AA2")
    Sheets(12).Name = Range("AA2").Text
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    Range("AA1:AA12").ClearContents
    a = Sheets(1).Name
    b = Sheets(12).Name
    Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Äänestä

  • Kunde kirjoitti:

    Edellisessä vastauksessani 12 kk Yhteensä solussa oleva kaava ei päivittynytkään automaattisesti joten tässä korjattu versio

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Dim a As String
    Dim b As String
    Dim c As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(13).Activate
    Range("AA1") = Sheets(11).Name
    Range("AA1").AutoFill Range("AA1:AA2")
    Sheets(12).Name = Range("AA2").Text
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    Range("AA1:AA12").ClearContents
    a = Sheets(1).Name
    b = Sheets(12).Name
    Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Hei,
    Nyt tulee suorituksenaikainen virhe '1004': Luokan Range menetelmä AutoFill epäonnistui.

    Voisiko vaikuttaa että minulla on excel 97 ja tuo koodi olisi uudemmalla versiolla tehty?

    Äänestä

Voi olla, ettei autofill ominaisuuuta ole97 versiossa. Kokeileppas muutettua versiota

Dim Vika As Integer
Dim i As Integer
Dim x As Double
Dim a As String
Dim b As String
Dim c As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Vika = Sheets.Count
c = Sheets(1).Name
If Vika > 13 Then
For i = 13 To Vika
On Error Resume Next
Sheets(i).Delete
Next
End If
If Vika = 13 Then
Sheets(1).Delete
End If

Sheets.Add before:=Sheets(12)
Sheets(12).Name = c
Sheets(13).Activate
'Range("AA1") = Sheets(11).Name
'Range("AA1").AutoFill Range("AA1:AA2")
'Sheets(12).Name = Range("AA2").Text
Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
'Range("AA1:AA12").ClearContents
a = Sheets(1).Name
b = Sheets(12).Name
Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Äänestä
  • Kiitos kovasti, nyt tuo juttu toimii.
    Mutta nälkä kasvaa syödessä...
    Nyt kun tulee tuo uusi taulukko niin saisiko siihen vielä samat muotoilut ja mahdollisesti vielä tekstitkin kuin alkuperäissä taulukossa on..
    Saisi ainakin varmasti oikeisiin soluihin uudet kulut kun nyt taulukossa on vain solussa E20 summakaava...

    Äänestä

  • kale kirjoitti:

    Kiitos kovasti, nyt tuo juttu toimii.
    Mutta nälkä kasvaa syödessä...
    Nyt kun tulee tuo uusi taulukko niin saisiko siihen vielä samat muotoilut ja mahdollisesti vielä tekstitkin kuin alkuperäissä taulukossa on..
    Saisi ainakin varmasti oikeisiin soluihin uudet kulut kun nyt taulukossa on vain solussa E20 summakaava...

    Ainahan nälkä kasvaa syödessä...

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Dim a As String
    Dim b As String
    Dim c As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    c = Sheets(1).Name
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(12).Name = c
    Sheets(11).Cells.Copy
    Sheets(12).Range("A1").PasteSpecial Paste:=xlAll
    Sheets(12).Range("A1").Select
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    Sheets(13).Activate
    a = Sheets(1).Name
    b = Sheets(12).Name
    Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Äänestä

  • Kunde kirjoitti:

    Ainahan nälkä kasvaa syödessä...

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Dim a As String
    Dim b As String
    Dim c As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    c = Sheets(1).Name
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(12).Name = c
    Sheets(11).Cells.Copy
    Sheets(12).Range("A1").PasteSpecial Paste:=xlAll
    Sheets(12).Range("A1").Select
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    Sheets(13).Activate
    a = Sheets(1).Name
    b = Sheets(12).Name
    Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Voit poistaa ton rivin
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    koska pari riviä ylempänä kopioikin jo kaikki...

    Äänestä

  • Kunde kirjoitti:

    Ainahan nälkä kasvaa syödessä...

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Dim a As String
    Dim b As String
    Dim c As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    c = Sheets(1).Name
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(12).Name = c
    Sheets(11).Cells.Copy
    Sheets(12).Range("A1").PasteSpecial Paste:=xlAll
    Sheets(12).Range("A1").Select
    Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
    Sheets(13).Activate
    a = Sheets(1).Name
    b = Sheets(12).Name
    Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Nyt PasteSpecial epäonnistui..

    Äänestä

  • kale kirjoitti:

    Nyt PasteSpecial epäonnistui..

    toimisko nyt

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Dim a As String
    Dim b As String
    Dim c As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    c = Sheets(1).Name
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(12).Name = c
    Sheets(11).Cells.Copy
    Sheets(12).Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    Sheets(13).Activate
    a = Sheets(1).Name
    b = Sheets(12).Name
    Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Äänestä

  • Kunde kirjoitti:

    toimisko nyt

    Sub UusiTaulukko()
    Dim Vika As Integer
    Dim i As Integer
    Dim x As Double
    Dim a As String
    Dim b As String
    Dim c As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Vika = Sheets.Count
    c = Sheets(1).Name
    If Vika > 13 Then
    For i = 13 To Vika
    On Error Resume Next
    Sheets(i).Delete
    Next
    End If
    If Vika = 13 Then
    Sheets(1).Delete
    End If
    Sheets.Add before:=Sheets(12)
    Sheets(12).Name = c
    Sheets(11).Cells.Copy
    Sheets(12).Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    Sheets(13).Activate
    a = Sheets(1).Name
    b = Sheets(12).Name
    Sheets(13).Range("E20").FormulaR1C1 = "=SUM(" & a & ":" & b & "!RC)"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

    Kiitos!

    Nyt toimii niin kuinka olin halunnut!

    Äänestä

Kommentoi aloitusta


kale kirjoitti:

Minun pitäisi tehdä excelin työkirjaan 12 taulukkoa jossa yksi taulukko olisi aina yksi kuukausi. Näissä taulukoissa on numerotietoa ja niiden summa pitäisi tulaa aina viimeisen taulukon (kuukauden) johonkin sarakkeeseen. Taulukko pitäisi toimia siten että kun lisään perään uuden taulukon (kuukauden) niin ensimmäinen taulukko pitäisi poistua eli koko ajan olisi 12 viimeisen kuukauden tiedot käytössä. Miten tälläinen onnistuu?

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