Brug formel fra celle ovenover
Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Generelt
Forum beskrivelse: Hjælp til generel daglig brug af programmet Excel
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3015
Udskrevet den: 02.Mar.2025 kl. 22:05
Emne: Brug formel fra celle ovenover
Besked fra: mLysdahl
Emne: Brug formel fra celle ovenover
Posteringsdato: 16.Apr.2017 kl. 09:57
Hej :)
Er der en måde hvorpå man kan få excel til automatisk at bruge formlen fra overstående celle, eller selv trække den med ned? For hvis jeg nu f.eks. bare autoudfylder ved at at række cellen ned, skal vi sige til række 2000, så formlen står i alle celler derned til, vil excel udskrive alle siderne fordi der er en formel i cellen.
|
Svar:
Besked fra: EXCELGAARD
Posteringsdato: 16.Apr.2017 kl. 12:18
Du kan enten benytte 'Sideopsætning' til at afgrænse, hvilket område, der skal udskrives, eller du kan ligge en lille makro ind i 'Worksheet_Change' eventen, der ligger formlen ind i næse linje.
Det sidste kræver dog, at man ved, i forhold til, hvilken kolonne, formlen skal være. F.eks. hvis celle i kolonne A er udfyldt, så skal der også være en formel i kolonne D.
Du kan evt. /topic662.html - uploade dit regneark, hvis du ikke selv kan lave makroen...
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: mLysdahl
Posteringsdato: 16.Apr.2017 kl. 15:30
Okay tak det vil jeg da prøve :). Ved godt hvordan jeg sætter makroer ind, men har mest brugt det når jeg har kunne optage den.
Hvordan skal den se ud hvis nu, når der står noget i celle A#, så fyld nedad i celle H#. Altså hvis det er A4, så skal den lave fyld nedad i H4 (fra H3, hvor formlen står). Hvis det gir mening :)?
|
Besked fra: EXCELGAARD
Posteringsdato: 16.Apr.2017 kl. 16:06
Det burde kunne lade sig gøre, med en enkelt linje i 'Worksheet_Change' eventen:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Range("H" & Target.Row).FormulaR1C1 = Range("H" & Target.Row - 1).FormulaR1C1
End Sub | Se her, hvordan du sætter kode ind: www.excelgaard.dk/Bib/Makroer/Indsaet/Sheet/ www.excelgaard.dk/Bib/Makroer/Indsaet/Sheet/
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: mLysdahl
Posteringsdato: 16.Apr.2017 kl. 19:10
Det virker perfekt 
Kan du sådan lige hurtigt forklare hvordan den virker :)?
|
Besked fra: EXCELGAARD
Posteringsdato: 16.Apr.2017 kl. 22:07
Der er ikke noget, som jeg hellere vil  Det er altid rart, når folk gerne vil forsøge, at lære 
Når eventen, 'Worksheet_Change', groft oversat til 'Regnearket ændres', bliver udløst, så bliver cellen, der bliver ændret, ført med over i variablen, 'Target'.
Da du skrev, at formlen skulle laves, hvis du lavede en ændring i kolonne A, tester vi først om der skete en ændring i kolonne A, der jo er kolonne nummer 1:
Og, da du ønskede, at kopiere fra rækken ovenover, så er rækken nødt til at være større end 1, da række 1 jo ikke har en celle over over:
Da du skrev, at du ønskede, at kopiere kolonne H's række ovenover, så benytte vi igen 'Target's række til at henvise til rækken, der kopieres til og fra:
Range("H" & Target.Row).FormulaR1C1 = Range("H" & Target.Row - 1).FormulaR1C1 | ...og, da det er formlen, vi ønsker, at kopier, så benytter vi, naturligvis, .FormulaR1C1 egenskaben ved cellen.
I bund og grund ikke det helt store, men man skal selvfølgelig lige forstå dynamikken 
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: Bjarnehansen
Posteringsdato: 16.Apr.2017 kl. 23:44
Hejsan hvad nu hvis man skal både g og h kopieres ned har prøvet med range("G:H"
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag. Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
|
Besked fra: EXCELGAARD
Posteringsdato: 17.Apr.2017 kl. 01:26
Så vil det nok være noget i denne stil:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Range("G" & Target.Row).FormulaR1C1 = Range("G" & Target.Row - 1).FormulaR1C1 Range("H" & Target.Row).FormulaR1C1 = Range("H" & Target.Row - 1).FormulaR1C1 End If
End Sub |
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: Bjarnehansen
Posteringsdato: 17.Apr.2017 kl. 07:57
Takker den havde jeg ikke set var måske for træt 
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag. Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
|
Besked fra: EXCELGAARD
Posteringsdato: 17.Apr.2017 kl. 08:06
Husk, at trykke på [Tak] knappen 
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
Besked fra: Bjarnehansen
Posteringsdato: 17.Apr.2017 kl. 08:12
JaJa 
------------- Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag. Med venlig hilsen - Bjarne Hansen - Microsoft 365 DK
|
|