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

Kopiera celler från en flik till en annan


Bjourklund

Rekommendera Poster

Hej!

Måste börja med att tacka för all hjälp jag fått.

Nu har jag äntligen fått tid efter semester och annat att sätta mig in i mitt projekt igen.

 

Det senaste problemet jag hade löste sig, det handlade om att kopiera text från bladet "Upparbetat Acc", jag fick en kod som jag lyckades få att fungera.

(Se bifogad fil "Projekt X" två inlägg upp)

 

Nu till mitt sista problem:

När man skapar en ny sida med hjälp av min knapp "Skapa ny mätspecifikation", skapas den nya sidan.

I den nya sidan som skapas får jag in text från första sidan.

Det jag nu vill ska hända är att:

Om jag vill skriva något i dem nya sidorna som jag skapar,  tex en kostnad så vill jag att den nya summan ska uppdateras på första sidan.

Tex. Jag skapar en ny mätspecifikation via min knapp för cellen A:12, den nya sidan öppnas, i denna nya sida skriver jag nu in en mängd i cellen J:9 och ett pris i K:9.

Dessa siffror jag skriver in här ska nu på något sätt kopieras tillbaka och uppdatera min första sida "Upparbetat Acc" i cellen H:12  för upparbetad mängd och I:12 för summa.

 

Hoppas de är någon som förstår mig och kan hjälpa mig!

Tack på förhand!

Länk till kommentar
Dela på andra webbplatser

Det är inte utan att undra om du verkligen valt rätt upplägg för dina blad som jag läser sista inlägget tillsammans med övriga.

 

Som jag brukar säga, Excel mår som bäst när man låter det leka databas men tabeller och rapporter.

 

Dvs alla data matas in i tabeller och man har rapporter som sammanställer dessa data enligt de önskemål man har.

Nu tycks det snarare som du har liknande data i rapporter som du vill sammanställa i en tabell...

 

Lösningen på ditt problem kan nog ske på två olika sätt

1: Via kod uppdaterar du formeln på ditt blad

2: Vi ser till att du har ett fast sista blad i boken, dvs de blad som kopieras in lägger sig inte sist i boken. Då räcker det med en 3D-formel i stil med

=SUMMA(Blad2:Bladx!J9)

 

Detta givet att cell J9 ALLTID är den cell du ska hämta värde från.

Länk till kommentar
Dela på andra webbplatser

Ja de har snarare blivit en mängd data som ska föras in i en tabell.

Kanske har lagt upp strukturen lite fel. Är som sagt ingen höjdare på detta.

 

Så som filen kommer se ut när den är klar för användning, kommer bli snarare att det enda man har på första sidan är mängd och a´pris och inte alla summor som finns nu, och sen ska man knappa in nya summor via mätningarna med hjälp av knappen som finns och utav detta ska dessa summor hamna på första sidan.

Är du med mig då?

 

Vart lägger jag in det du skrev senast?

Länk till kommentar
Dela på andra webbplatser

summa-formeln, på ditt sammanställningsblad.

 

Placera kopierat blad, ange bara var det ska placeras

    Blad1.Copy before:=Worksheets("Blad3")

exempelvis.

Länk till kommentar
Dela på andra webbplatser

  • 1 month later...

Hej igen.

 

Hur lägger jag in min 3D-formel?

Skulle du kunna göra skriva den formeln i mitt exempel jag gjort som finns lite längre upp?

Jag är som sagt helt värdelös på sånt här.

 

Tack på förhand!

Länk till kommentar
Dela på andra webbplatser

3D-formel? Du menar som att summera över flera blad? tja

 

Range("A1").FormulaR1C1 = "=SUM(Blad1:Blad3!RC)"

om du vill summera över A1 i blad1 till 3

eller

.Formula = "=SUM(Blad1:Blad3!A1)"

om du vill ha absolut referens.

Länk till kommentar
Dela på andra webbplatser

Men hur fungerar det i mitt fall när mina blad inte finns från början, utan jag skapar nya blad för varje mätning och dem nya bladen får den specifika cellens namn,

Exempel:

Om jag skapar en mätspecifikation för kod BCB.1 så kommer bladet heta BCB.1.

Om jag skriver något nu i det nya bladet BCB.1, så vill jag att det jag skriver sen hamnar på första sidan "Upparbetat Acc".

Hur fungerar det?

Länk till kommentar
Dela på andra webbplatser

Skapa ett tomt blad i slutet av boken som du tar med i formeln, stoppa in din nya blad innan detta tomma blad så kommer de med i beräkningen. Beräkningen beror alltså på sorteringen av blad när man skriver den på detta viset.

Länk till kommentar
Dela på andra webbplatser

Hmmmm...

Kan du inte hjälpa mig med att göra ett sådant exempel i den filen som jag har bifogat längre upp i denna tråd???

Länk till kommentar
Dela på andra webbplatser

Det är inget svårt exempel

 

På blad 1 en formel

på blad2 till 5 ett värdet

Blad SISTA BLADET är tomt.

Infoga nytt blad mellan blad2 och SISTA BLADET och det kommer tas med i summeringen.

 

Prova flytta ett blad bortom SISTA BLADET och det bladet är inte längre med i summeringen.

 

Bok1.xlsx

Länk till kommentar
Dela på andra webbplatser

Det är jag som är förbannat vimsig va det gäller det här ämnet.

Vi gör ett sista försök, om du inte kan hjälpa mig nu så lägger vi ner det.

Jag ska försöka va så tydlig som det går.

Jag bifogar en ny fil som du kan kolla i hur jag lagt upp det i och som du kan ändra formlerna i så det blir bra gjort.

 

Hela filen bygger på att man ska kunna göra olika mätspecifikationer för varje kod som synns på första sidan.

Om du prövar att klicka först på skapa ny mätspecifikation och sedan på någon utav koder som du finner i kolumn A12 till A15 så skapas ett nytt arbetsblad som får namnet på respektive kod du tryckt på.

 

Det jag vill få gjort nu och som jag inte lyckats med själv är:

1. Projektnummret som står i cell B5 på första sidan ska kopieras in i det nya bladet. Samt även alla andra nya blad som skapas.

2. Dem nya flikarna som man skapar ska hamna i alfabetisk ordning, har försökt det med en formel utan lyckat resultat.

3. Och nu till det svåra.

    Du skapar ett nytt blad för tex kod BCB.1 (cell A12).

    I det nya bladet som nu finns för den koden BCB.1 vill jag nu lägga till en summa under fältet "Pågående" och ett datum under fältet "specifikation".

4. I bladet BCB.1 skriver vi nu någon siffra bara, tex 70,  i cellen H11, och i cell  B11 skriver jag tex datumet "2015-11-16".

5. Det som skrivs i dessa två celler ska uppdatera första bladet på så sätt att, det som skrivs i cell B11 ska hamna under fliken för november (cell N12) på första bladet eftersom de va det datumet jag skrev i BCB.1 bladet.

Alltså siffran 70 jag skrev i bladet BCB.1 och cell H11 ska hamna under november månad och cell N12 på första bladet. Kan man göra ett makro på så sätt att den förstår vilken månad den ska klistra in värdet i.

Går detta??

 

Hoppas att du förstår vad jag menar med detta och att de inte blir för rörigt.

Följ mina punkter så ska du nog förstå.

 

Tack på förhand!

Länk till kommentar
Dela på andra webbplatser

Det du vill göra går givetvis att göra, inget större problem.

Det är lite att gå över ån för vatten iofs.

Normala är att man har en master-tabell där man fyller i data, där data lagras, och ett antal sekundära som tar ut del av data och analyserar/presenterar dessa. Dvs tvärtom mot vad du gör. Excel mår bra av att behandlas som en databas.

 

Men men jag gör vad du önskar, ska inte röra till det för dig även om du riskerar att låsa dig i en lösning som kanske inte är helt optimal.

 

Steg 1.

Skapa ett mallblad. Nu har du kod som formaterar bladet som du vill, skapa istället ett färdigt blad som du kopierar och fyller med enbart värden. Enklare kod, enklare underhåll.

 

Steg 2.

Ge områden namn.

 

steg 3. Skapa kod...

steg 4 en formel med indirekt som hämtar värden.

 

äsh... se bifogad fil, hoppas du förstår och kan använda den, att du kan anpassa det lilla som finns kvar.

 

 

Kopia av TEST.zip

Länk till kommentar
Dela på andra webbplatser

Tusen tusen tack för detta!

Allting fungerar som jag vill att det ska, du är en riktig klippa du!

 

Märkte en sak bara som inte är så bra.

Råkade radera mallbladet, och då var då tvungen att stänga ner filen och öppna den igen, som tur va hade jag inte sparat.

Hittade själv ett ställe där man kan låsa vissa celler i bladet men jag vill ju att bladet inte ska gå att kunna radera i över huvud taget, typ att om man trycker radera på mallbladet så får man en upp en ruta att den här sidan går ej att radera. Går det att lösa?

Märkte att det är lätt hänt om man är trött i huvudet någon dag!

Länk till kommentar
Dela på andra webbplatser

Och en till liten fråga:

Om jag vill byta cell där man skriver i datumet till cellen bredvid alltså under spalten specifikation i mallbladet istället för under spalten kod, vart gör jag detta?

Förstod att det borde i alla fall vara i modul 4 som jag ska pilla, men vart?

Länk till kommentar
Dela på andra webbplatser

Mallbladet kan med fördel döljas. Iofs kanske att det då behövs kod som tar fram det efter kopieringen:

ws.Visible = xlSheetVisible

lägg in på rad 40, i proceduren

Function SkapaBlad(shName As String)
 

 

Och visst kan du låsa celler och bokens layout men gör du någon som påverkar VBA måste VBA ha kom som öppnar upp så att koden kan arbeta. Inget svårt det heller.

 

Om du vill flytta celler du vill skriva datum i, klipp ut och klistra datumcellen där du vill ha den (eller dra och släpp den). Då följer det namn med som jag gett cellen. Eller definiera om namnet att peka på den nya cellen via namnhanteraren.

Båda vägarna ger samma resultat. En fördel med att namnge celler och använda dessa namn i koden, man kan flytta runt dem om man vill.

Länk till kommentar
Dela på andra webbplatser

Jag hittade vart man kunde låsa bladets layout så man inte kan ta bort innehåll i bladet eller ändra dess utseende, men jag vill att man inte ska kunna ta bort bladet alls, ska ej kunna gå att  trycka på knappen "ta bort blad",

Vart gör jag det?

 

Jag vill inte flytta cellen som datumet står i utan jag vill skriva datumet i en annan cell. Den cellen som du hade skrivit datumet i är under kolumnen "kod", den vill jag inte ha, utan cellen till höger alltså under kolumnen "Specifikation"

Måste väl ändra någon formel då?

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...