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?
Excel taulukot
kale
141336
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
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.
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ä!!
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...
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.
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?
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
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
Voit poistaa ton rivin
Sheets(12).Range("E20").FormulaR1C1 = "=SUM(R[-19]C:R[-1]C)"
koska pari riviä ylempänä kopioikin jo kaikki...
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
Kiitos!
Nyt toimii niin kuinka olin halunnut!