18. oktober 2001 - 20:08Der 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.
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!?
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.
>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?
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
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.