HHA Seniormester
24. september 2020 - 15:27 Der er 11 kommentarer og
1 løsning

Hjælp til makro vedr. sum mm

Hejsa,

Jeg kæmper med at få lavet en makro til excel.
Hvis jeg markerer fx F22 til og med F26, så vil jeg have den til at ligge summen oppe i F21, når jeg fx trykker CTRL + t og det samtidigt skal den også gøre det med samme antal rækker i kolonnerne I, J, K, og L.
Den skal samtidigt vende JA i kolonne B til NEJ og i kolonne M fra JA til NEJ.
Kolonnerne B og M er så jeg kan vælge om indhold skal overføres eller ej, til et andet ark.

Formlen skal følge markeringen, da jeg kommer til at bruge det rundt i forskellige rækker og markeringen kan være en til flere rækker.
Kan man ikke ligge et billede her ind?
Det ville måske hjælpe med forståelsen (kan evt. sende på mail).

Nogen der kan/vil hjælpe mig her?
kim1a Ekspert
24. september 2020 - 19:16 #1
Er det rigtigt forstået:
Du markerer markerer et område i en kolonne (er det altid kolonne F). Så skal vbaen følgende:
Indsætte sum af markeringen i samme kolonne blot ovenover, dette skal den gentage for kolonnerne I, J, K og L (hvad nu hvis det ikke er i F du markerer?)
Samtidig skal den skrive Ja i kolonne B (på alle rækker du har markeret?) og Nej i kolonne M (samme spørgsmål)

Du kan ikke ligge billede ind, men du kan ligge noget i dropbox og linke til det.

Jeg tror det vigtigste er at du beskriver i generelle termer. VBAen kunne nemt opsnappe hvilke kolonner og rækker du markerer, men hvad nu hvis der i forvejen står noget i de celler ovenover det du ønsker at markerer?
jens48 Ekspert
24. september 2020 - 23:56 #2
Denne makro laver første del - summering i den kolonne du sætter cursoren i

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("F22:F26, I22:L26"), Target) Is Nothing Then
    Cells(21, Target.Column) = WorksheetFunction.Sum(Range(Cells(22, Target.Column), Cells(26, Target.Column)))
    End If
End Sub
HHA Seniormester
25. september 2020 - 14:29 #3
HHA Seniormester
26. september 2020 - 17:38 #4
Nu med et bedre billede.
Der står en forklaring på billedet.
HHA Seniormester
29. september 2020 - 10:33 #5
Prøver lige igen med en tydeligere forklaring.
Skal bruge en løsning der kan gøre flg.:
Hvis jeg markerer x antal celler i kolonne F og trykker CTRL + T, skal den skrive summen i cellen lige over den øverst markerede celle. Samtidigt skal den gøre det samme i kolonnerne I, J, K og L.
Den må gerne overskrive, hvis der skulle stå noget i dem.
Samtidigt skal den sørge for at der står JA i kolonne M  og sørge for at der står NEJ i kolonne B (ud for de markerede antal celler/rækker).
De celler med JA og Nej er lavet sådan, at man kan klikke på dem og efter behov vælge JA eller NEJ. Så den skal ikke fastholde dem til JA eller NEJ, kun skifte dem til det, når man kører formlen.
Håber det gav mening.
HHA Seniormester
29. september 2020 - 10:37 #6
jens48,

Jeg var nok ikke helt klar i mæglet med hvad jeg mente, så den formel du kom med, bruges kun hvis det er rækkerne 22 til 26.
Det kan være helt tilfældigt hvilke celler jeg markerer i kolonnen F.
jens48 Ekspert
29. september 2020 - 12:27 #7
Så prøv med denne:

Sub SUM()
Dim R1, R2 As Long
R1 = Selection.Rows(1).Row
R2 = Selection.Rows(1).Row + Selection.Rows.Count - 1
If Selection.Column = 6 Or (Selection.Column > 8 And Selection.Column < 13) Then
Selection.Rows(1).Offset(-1, 0) = WorksheetFunction.SUM(Selection)
End If
Range(Cells(R1, 2), Cells(R2, 2)) = "Nej"
Range(Cells(R1, 13), Cells(R2, 13)) = "Ja"
End Sub
HHA Seniormester
01. oktober 2020 - 10:00 #8
Hej jens48

Det var lige det jeg ikke kunne finde ud af 👍
Jeg kan heller ikke få mine evner til at række til at få den til følgende:
Når jeg markerer xx antal linjer i kolonne F, gør dent det den skal med din kode.
Den mangler dog at ligge summen oven over i kolonnerne I, J, K og L, samtidigt.
Det jeg mener er at når jeg laver markeringen i kolonne F, skal den det som du har kodet, dog skal den tage samme antal (som markeret i kolonne F) rækker i kolonne I, J, K og L og ligge summen oven på, lige som den gør i kolonne F.
Altså kun markering i kolonne F og den gør det automatisk i de ovenfor nævnte kolonner samtidigt.
Håber det giver mening.
jens48 Ekspert
01. oktober 2020 - 10:18 #9
Hvis du kun markerer i kolonne F kan denne makro btuges

Sub SUM()
Dim R1, R2 As Long
R1 = Selection.Rows(1).Row
R2 = Selection.Rows(1).Row + Selection.Rows.Count - 1
If Selection.Column = 6 Then
Selection.Rows(1).Offset(-1, 0) = WorksheetFunction.SUM(Selection)
Selection.Rows(1).Offset(-1, 3) = WorksheetFunction.SUM(Selection.Offset(0, 3))
Selection.Rows(1).Offset(-1, 4) = WorksheetFunction.SUM(Selection.Offset(0, 4))
Selection.Rows(1).Offset(-1, 5) = WorksheetFunction.SUM(Selection.Offset(0, 5))
Selection.Rows(1).Offset(-1, 6) = WorksheetFunction.SUM(Selection.Offset(0, 6))
End If
Range(Cells(R1, 2), Cells(R2, 2)) = "Nej"
Range(Cells(R1, 13), Cells(R2, 13)) = "Ja"
End Sub
HHA Seniormester
01. oktober 2020 - 10:44 #10
Hej jens48,

Du er sgu hurtig 😲
Lige det der skal til.
Du kommer med i min aftenbøn 👍👍
Tusind tak.
Jeg overvejer at tage et kursus i det.
Nogen man kan anbefale?

Tak igen igen.
jens48 Ekspert
01. oktober 2020 - 11:27 #11
Godt du kunne bruge det.
Jeg har for en del år siden deltaget i et 2-dages kursus hos 4D-konsulenterne, men ellers har jeg lært det meste ved blot at kaste mig ud i det, for eksempel ved at løse opgaver som denne. Det skal bruges dagligt. Ellers glemmer man det.
HHA Seniormester
01. oktober 2020 - 11:59 #12
Det kan jeg helt sikkert!
Sidder også og kigger på koderne, for at se hvad de enkelte linjer gør.
Vil jeg gerne tro det skal bruges for at huske det.

Endnu en gang tak!
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Microsoft klar med splinternye bærbare: Endelig undgår selskabet en fatal fejltagelse
Microsoft er klar med fjerde generation af sin Surface Laptop. Og her undgår Microsoft omsider at være for karrig med lagerpladsen.
Computerworld
Sikkerhedshul i sundhed.dk gør det let at snyde med coronapas
Et hul i sikkerheden hos sundhed.dk åbner op for, at coronapas-ejere kan ændre på de svar, der står i passet. Men det er dokumentfalsk, advarer sundhed.dks direktør.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
White paper
Sådan rammer krisen virksomheder, medarbejdere og support
Alle ved, at COVID-19 har haft store konsekvenser for virksomheder, indkøbsmønstre og medarbejdere – men præcis hvilke? Seneste indblik fra Zendesk Benchmark kortlægger udvalgte effekter af pandemien på tværs af 23.000 virksomheder verden over.