24. september 2020 - 15:27Der 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).
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?
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
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.
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.
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
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.
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.
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!
Synes godt om
Ny brugerNybegynder
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.