Avatar billede quark-8382 Nybegynder
13. marts 2009 - 12:15 Der er 2 kommentarer og
1 løsning

Autosum i en celle via makro

Er det muligt at lave en autosum i en vilkårlig celle, hvor summen skal være opad, indtil der kommer en blank celle.

F.eks. hvis brugeren står i U24 og der er tal i cellerne U23 og op til U19 og U18 er blank, skal summen være =SUM(U23:U19)

Regneark er skrivebeskyttet med kode (vi kan sige kode: 1234)
Så, det som jeg forestillede mig var at der køres en makro via en genvejstast Ctrl+m hvor skrivebeskyttelsen fjernes (Hvis nødventig) og autosummen laves og så skrive bestyttes arket igen med kode.
Avatar billede ExcelKen Praktikant
14. marts 2009 - 08:21 #1
Hej quark,

Prøv denne kode.
Jeg har lagt en lille spærriing ind, så koden kun indsætter en sum, hvis feltet er formateret til BOLD. Du kan selv vælge en anden metode, hvis du bedre kan li' dette. Jeg vil dog råde dig til at lave denne test, da du - eller din bruger - ellers vil komme til at lægge en sum oven i et forkert sted.

Sub BeregnSum()

Dim TempSum As Double
Dim iRække As Integer
Dim iKolonne As Integer
Dim x As Variant

'hvis formatet IKKE er FED(Bold), så forlades makroen
If ActiveCell.Font.Bold = False Then
    MsgBox "Du står ikke i en celle, med formatet FED"
    Exit Sub
End If

UBeskytArk

'sæt variablerne til aktuelle udgangspunkt
    iRække = ActiveCell.Row - 1
    iKolonne = ActiveCell.Column
    TempSum = 0
   
'for hver celle målt fra cellen lige over udgangspunktet til der mødes en celle med tekst eller værdien NUL
    Do Until iRække = 0
   
        If IsNumeric(Cells(iRække, iKolonne).Value) = True And Val(Cells(iRække, iKolonne).Value) <> 0 Then
            TempSum = TempSum + Cells(iRække, iKolonne).Value
        Else
            Exit Do
        End If
       
        iRække = iRække - 1
    Loop

   
    Selection.Value = TempSum


BeskytArk

End Sub

Sub BeskytArk()
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="1234"
End Sub


Sub UBeskytArk()
    ActiveSheet.Unprotect Password:="1234"
End Sub
Avatar billede quark-8382 Nybegynder
16. marts 2009 - 13:20 #2
Hej ExcelKen

Det ser rigtig godt ud, jeg har dog slået den lille spæring fra, da det ikke er muligt at formateret til BOLD, når arket er skrivebeskyttet, heller ikke i de celler som er uden lås. (bruger excel 2003, ved ikke om det er muligt i 2007)

Men det virker rigtig godt, mange tak for hjælpen, du bliver tildelt point :-)

Quark
Avatar billede quark-8382 Nybegynder
16. marts 2009 - 13:25 #3
Hej ExcelKen

Det ser rigtig godt ud, jeg har dog slået den lille spæring fra, da det ikke er muligt at formateret til BOLD, når arket er skrivebeskyttet, heller ikke i de celler som er uden lås. (bruger excel 2003, ved ikke om det er muligt i 2007)

Men det virker rigtig godt, mange tak for hjælpen, du bliver tildelt point :-)

Quark
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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