Bigelk Skrevet 26. mars 2012 Del Skrevet 26. mars 2012 Hei. Jeg har en arbeidsbok med 53 ark. ark1 = Total ark 2 = uke 1 ark 3 = uke 2 O.S.V alle arkene er satt opp som dette. kolonne C rad 3 - rad 10 er omsetning for 2011 kolonne D rad 3 - rad 10 er omsetning for 2012. Kolonne E rad 3 - rad 10 er differansen mellom 2011 og 2012 i rad 11 i kolonne C og D summerer rad 3 - rad 10 (dette er da totalen for gjeldene ark) rad 11 i kolonne E regner ut differansen Så kommer problemet. Ark Total skal legge sammen ark Uke 1 til Uke 52. men de skal bare summeres sammen hvis celle d11 (totalen for 2012 den uka = mer enn 0) Det vil si at hvis omsetningen for 2012 ikke er fylt inn skal makroen stoppe hvis omsetningen for 2012 er fylt inn til f.eks Uke 3 vil jeg at den summer sammen i uke1 + uke2 + uke 3 Kan prøve og forklare i kode Sheets("uke 1").Select If Range("D11") >= 1 Then Range("E3").Select Do Until ActiveCell = "t" ActiveCell.FormulaR1C1 = "=rc[-1]-rc[-2]" ActiveCell.Offset(1, 0).Select Loop ' "" her veit jeg ikke helt hvordan jeg skal gå fram"" ' neste arkfane. gjør samme sjekken. ' så tilbake til ark Total når celle D11 = 0 i det aktivearket ' og summere sammen de arkene hvor celle d11 = mer enn 0 Sheets(1).Select Range("c3").Select for 1 = 1 to 7 ActiveCell.FormulaR1C1 = "=Uke 1'!RC" ' + de arkene som er gått igjennom ActiveCell.Offset(0, 1).Select ActiveCell.FormulaR1C1 = "='Uke 1'!RC"' + de arkene som er gått igjennom ActiveCell.Offset(0, -1).Select ActiveCell.Offset(1, 0).Select next i Else Sheets(1).Select Exit Sub End If Håper forklaringen er god nok, hvis ikke bare si i fra. Hilsen Torbjørn Lenke til kommentar
Bigelk Skrevet 27. mars 2012 Forfatter Del Skrevet 27. mars 2012 Hei. Kom over en formel som summerer sammen samme celle i flere ark. =summer('uke 1:uke 52'!c3) Går det ann og lage en tilsvarende formel med kriteriet? Har prøvd =SUMMERHVIS('uke 1: uke 52'!D11;>=1;'Uke 1:Uke 52'!C3) Men det fungerer ikke. Hilsen Torbjørn Lenke til kommentar
Bigelk Skrevet 27. mars 2012 Forfatter Del Skrevet 27. mars 2012 Hei. Tror jeg har en kode som kan fungere hvis den blir satt opp riktig. For i = 2 To Sheets.Count If Sheets(i).Range("D11") >= 1 Then Sheets(i).Range("E3").Select Do Until ActiveCell = "t" ActiveCell.FormulaR1C1 = "=rc[-1]-rc[-2]" ActiveCell.Offset(1, 0).Select Loop Sheets(1).Range("C3").Value = Sheets(1).Range("c3") + Sheets(i).Range("C3") End If Next får runtime error 1004 select metoden i range klassen misslyktes Noen som veit hvordan jeg kan modifesere den til og fungere? Hilsen Torbjørn Lenke til kommentar
Bigelk Skrevet 27. mars 2012 Forfatter Del Skrevet 27. mars 2012 (endret) Hei. Da var den løst For i = 2 To Sheets.Count If Sheets(i).Range("D11") >= 1 Then Sheets(i).Select Range("E3").Select Do Until ActiveCell.Value = "t" ActiveCell.FormulaR1C1 = "=rc[-1]-rc[-2]" ActiveCell.Offset(1, 0).Select Loop Sheets(1).Range("C3").Value = Sheets(1).Range("C3") + Sheets(i).Range("C3") Sheets(1).Range("C4").Value = Sheets(1).Range("C4") + Sheets(i).Range("C4") Sheets(1).Range("C5").Value = Sheets(1).Range("C5") + Sheets(i).Range("C5") Sheets(1).Range("C6").Value = Sheets(1).Range("C6") + Sheets(i).Range("C6") Sheets(1).Range("C7").Value = Sheets(1).Range("C7") + Sheets(i).Range("C7") Sheets(1).Range("C8").Value = Sheets(1).Range("C8") + Sheets(i).Range("C8") Sheets(1).Range("C9").Value = Sheets(1).Range("C9") + Sheets(i).Range("C9") Sheets(1).Range("C10").Value = Sheets(1).Range("C10") + Sheets(i).Range("C10") Sheets(1).Range("D3").Value = Sheets(1).Range("D3") + Sheets(i).Range("D3") Sheets(1).Range("D4").Value = Sheets(1).Range("D4") + Sheets(i).Range("D4") Sheets(1).Range("D5").Value = Sheets(1).Range("D5") + Sheets(i).Range("D5") Sheets(1).Range("D6").Value = Sheets(1).Range("D6") + Sheets(i).Range("D6") Sheets(1).Range("D7").Value = Sheets(1).Range("D7") + Sheets(i).Range("D7") Sheets(1).Range("D8").Value = Sheets(1).Range("D8") + Sheets(i).Range("D8") Sheets(1).Range("D9").Value = Sheets(1).Range("D9") + Sheets(i).Range("D9") Sheets(1).Range("D10").Value = Sheets(1).Range("D10") + Sheets(i).Range("D10") Else Sheets(1).Select Exit Sub End If Next Hilsen Torbjørn Endret 27. mars 2012 av Bigelk Lenke til kommentar
Bigelk Skrevet 27. mars 2012 Forfatter Del Skrevet 27. mars 2012 (endret) Hei. Den var ikke helt løst, må jo selvfølgelig slette innholdet i ark Total før man kjører makroen. hvis ikke vil den bare summere med tall som allerede er summert. lagde også en loop ut av den siste delen av koden Dim i As Integer Dim y As Integer Sheets(1).Range("c3:d10").ClearContents For i = 2 To Sheets.Count If Sheets(i).Range("D11") &--#62;= 1 Then Sheets(i).Select Range("E3").Select Do Until ActiveCell.Value = "t" ActiveCell.FormulaR1C1 = "=rc[-1]-rc[-2]" ActiveCell.Offset(1, 0).Select Loop For y = 3 To 10 Sheets(1).Cells(y, 3).Value = Sheets(1).Cells(y, 3) + Sheets(i).Cells(y, 3) Sheets(1).Cells(y, 4).Value = Sheets(1).Cells(y, 4) + Sheets(i).Cells(y, 4) Next y Else Sheets(1).Select Exit Sub End If next Hilsen Torbjørn Endret 27. mars 2012 av Bigelk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå