Avatar billede maagefinke Nybegynder
18. oktober 2001 - 20:08 Der er 10 kommentarer og
1 løsning

Sammentæl fra 1. til sidste (ukendte)række

Fra en form  i VBA sender jeg tal til ark 2 således:
Worksheets(”ark2”).Activate
Range(”A1”).Select
If Range(“A1”).Value = “” Then
    Range(“A1”).Activate
Else
Range(“a1”).CurrentRegion.Select

    Activecell.Offset(Selection.Rows.Count, 0).Activate
End if
With ActiveCell
.Offset(0, 1).Value = txtTal1.text
.Offset(1, 2).value = txtTal2.text
osv til(1, 10).value = txtTal10.text
End With

Mit problem:
1) Der skal herefter spørges,  om der skal overføres flere tal og
Hvis nej Then
Tæl indholdet af kolonner i ark2 sammen under det sidste tal
i de respektive kolonner, der indeholder tal.
2) Kopiér herefter disse totaler til ark 3, hvor der måtte være plads,
dvs uden at der sker overskrivning af bestående tal.

Tja, elementært sikkert – bare ikke for mig.

Avatar billede maagefinke Nybegynder
19. oktober 2001 - 17:42 #1
OK - Jeg sætter prisen for et svar op.
Avatar billede bak Forsker
19. oktober 2001 - 20:01 #2
prøv denne her.
summer alle rækker i hver kolonne fra a til j og overfører disse data til første ledige række på ark3.

Sub Makro1()
ActiveCell.Offset(1, 0).Activate
T = ActiveCell.Row - 1
ActiveCell.FormulaR1C1 = \"=SUM(R[\" & -T - 1 & \"]C:R[-1]C)\"
Selection.AutoFill Destination:=Range(\"A\" & T + 1 & \":J\" & T + 1), Type:=xlFillDefault
Range(\"A\" & T + 1 & \":J\" & T + 1).Select
Selection.Copy
Sheets(\"Ark3\").Select
lastrow = Cells(Rows.Count, \"A\").End(xlUp).Row
Range(\"a\" & lastrow + 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub
Avatar billede maagefinke Nybegynder
19. oktober 2001 - 22:59 #3
Desværre lykkedes det ikke i dette forsøg.
Jeg får i makroen denne besked: \"Metoden autofill for klassen range mislykkedes.\"
Og på regnearket får jeg en cirkulær reference.
Jeg håber, at du gider én gang til!?
Avatar billede bak Forsker
20. oktober 2001 - 00:32 #4
Du kan prøve at sende regnearket til tommy_bak@hotmail.com
Avatar billede bak Forsker
20. oktober 2001 - 00:42 #5
Prøv lige igen. Den er modificeret lidt:
Sub Makro1()
ActiveCell.Offset(1, 0).Activate
T = ActiveCell.Row - 2
ActiveCell.FormulaR1C1 = \"=SUM(R[\" & -T & \"]C:R[-1]C)\"
Selection.AutoFill Destination:=Range(\"A\" & T + 2 & \":J\" & T + 2), Type:=xlFillDefault
Range(\"A\" & T + 1 & \":J\" & T + 1).Select
Selection.Copy
Sheets(\"Ark3\").Select
lastrow = Cells(Rows.Count, \"A\").End(xlUp).Row
Range(\"a\" & lastrow + 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub
Avatar billede bak Forsker
20. oktober 2001 - 00:45 #6
Sorry igen
linie 5 skal være
Range(\"A\" & T + 2 & \":J\" & T + 2).select
Avatar billede maagefinke Nybegynder
20. oktober 2001 - 14:25 #7
Næsten!
På arket havde jeg 5 rækker  til sammentælling (a1:j5). Adderer  kun de 4 af de 5 rækker.
Sammentællingen sker i række 12 og ikke i række 6. Slipper desuden ikke markeringen af række 12
med totalerne. Til gengæld overføres korrekt til første ledige række på ark 3!
Jeg har ”dagopsparet” lidt point og lover dig 25
ekstrapoint, hvis du gider igen.
PS Der ligger ikke noget ”egentligt” regneark til grund, som jeg kan sende dig.
Jeg har blot tastet nogle tal i ark 1 i forvejen samt nogle tal i forvejen i ark 3 til brug for
kontrollen.

Avatar billede maagefinke Nybegynder
20. oktober 2001 - 14:29 #8
PS Denne tekst var i forvejen skrevet i Word og
kopieret herover. Det er de af mig i Word anvendte
gåseøjne, der er blevet oversat så mærkeligt.
Avatar billede maagefinke Nybegynder
20. oktober 2001 - 21:25 #9
>Bak Jeg har set lidt mere på makroen.
Den tæller ikke 1. række med og totalen bliver
skrevet, afhængig af hvor cursoren står i
regnearket og altså ikke i 1. række under sidst
udfyldte celle/række. Desværre kan jeg ikke
forstå din kode (mit begynderniveau), men måske
kan det lykkes nu?
Avatar billede bak Forsker
21. oktober 2001 - 12:03 #10
Denne tæller første række med. dette var med vilje udeladt, fordi jeg gik ud fra det var overskrifter. Der er nu også uafhængig af cursors placering.
Sub Makro1()
lastrow = Cells(Rows.Count, \"A\").End(xlUp).Row
Range(\"a\" & lastrow + 1).Select
T = ActiveCell.Row - 1
ActiveCell.FormulaR1C1 = \"=SUM(R[\" & -T & \"]C:R[-1]C)\"
Selection.AutoFill Destination:=Range(\"A\" & T + 1 & \":J\" & T + 1), Type:=xlFillDefault
Range(\"A\" & T + 1 & \":J\" & T + 1).Select
Selection.Copy
Range(\"A\" & T + 1).Select
Sheets(\"Ark3\").Select
lastrow = Cells(Rows.Count, \"A\").End(xlUp).Row
Range(\"a\" & lastrow + 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
Application.CutCopyMode = False
End Sub

Avatar billede maagefinke Nybegynder
21. oktober 2001 - 15:17 #11
Flot!!!
Tak for hjælpen.
Avatar billede 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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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