Just nu i M3-nätverket
Gå till innehåll

Kopiera värden mellan flikar


PeterRamen
 Share

Rekommendera Poster

PeterRamen

Ett nytt problem...

 

Jag summerar ett antal värden i en kolumn B6-B17  i flik 01. Summan landar i B18 på samma flik..

 

Detta skall sedan vara ingångsvärde i cell B6 på flik 02. Sedan summeras cellerna i kolumn B till cell B18 som sedan skall vara ingångsvärde i flik 03 cell B6 osv..

 

Att bara kopiera en cell mellan flikar är naturligtvis lätt men hur kan jag ändra hänvisningen till olika flikar utan att skriva om formeln 52 ggr...

 

Hmm

Länk till kommentar
Dela på andra webbplatser

Kan nog bara säga att ibland ställer användarens idéer om hur det ska vara till med problem när de ska in i Excel..

Excel är ju dessutom så skapt att även det dummaste går att göra om man vill.

 

Du kommer inte undan handgrepp på varje blad hur du än gör. Antingen har du en formel där du ändrar bladnamn/skapar om för varje blad eller så använder du INDIREKT och bygger upp från en cell. Om bladen numrerade i serie kan du iofs automatisera det och ta fram nuvarande bladets namn med

=EXTEXT(CELL("filnamn";A1);HITTA("]";CELL("filnamn";A1))+1;255)

(eller använde filename, vet ej hur stödet är i olika versioner av Excel)

 

 

Från detta resultat kan du bryta ut index på sidan och lägga till/ta bort ett för att bygga ihopp till det bladindex du vill ha referens till via INDIREKT

 

Men egentligen, tänk efter om detta är ett bra sätt göra det du gör på. Excel fungerar bäst om man behandlar det som en databas med tabeller och rapporter.

 

Länk till kommentar
Dela på andra webbplatser

Ove Söderlund
Postad (redigerade)

Arbetsgången jag rekommenderar i detta fall är att försöka göra formler som inte har direkta referenser till föregående veckoflik. Lösningen jag har gjort är att först bara skapa fliken 01, se till att den gör allt som den ska göra. Den cell vars summa ska vara tprt till nästkommande flik har en formel som läser av flikens veckonummer och därifrån skapar en referens till föregående flik.

 

I mitt utvecklingsprojekt så har jag min trpt-summa i cell O18 och jag använder en formel då som läser av cell C9 - se tidigare tråd; 

 

Formeln i cell O18 är:

=OM($C$9=1;Schema!$J$6;INDIREKT(TEXT($C$9-1;"00") & "!O19"))

Naturligtvis får du anpassa cellreferenserna till vad som gäller ditt projekt.

Not. förledet i formeln kan kanske utelämnas eller sättas noll eller tomt, kanske så här:

=OM($C$9=1;0;INDIREKT(TEXT($C$9-1;"00") & "!O19"))

 

När du sedan är helt klart med fliken 01, att den då gör allt den vill så kan du köra en liten kod-snutt som kopierar fliken, klistrar in och döper om den till 02, 03 osv. Koden lägger du in i en Modul och kör via ALT + F8

 

Sub Copy_Incremental_Worksheets()
    
    Dim intCounter As Integer
    Dim strWS As String

    Application.ScreenUpdating = False

    For intCounter = 1 To 52
    
        strWS = CStr(Format(intCounter, "00"))
        Worksheets(strWS).Select
        Worksheets(strWS).Copy After:=Worksheets(strWS)
        ActiveSheet.Name = CStr(Format(intCounter + 1, "00"))
    
    Next intCounter
    
    Application.ScreenUpdating = True
    
End Sub

 

Redigerad av Ove Söderlund
Länk till kommentar
Dela på andra webbplatser

 Share

×
×
  • Skapa nytt...