Avatar billede ullum Praktikant
31. marts 2010 - 10:28 Der er 14 kommentarer og
1 løsning

checkbox skal lave udregning

jeg har en checkbox, der hvis den er sand (true) så skal f8 - f9 skrives i f 10. Hvis den er falsk så skal værdien skrives i f11.

en med et bud på det ?
Avatar billede supertekst Ekspert
31. marts 2010 - 14:39 #1
Hvordan er checkboksen konstrueret - kotrolelement, formular eller?
Avatar billede ullum Praktikant
31. marts 2010 - 19:29 #2
jeg har lavet det som kontrolelement, men det er ligegyldigt, det var bare den eneste måde jeg kendte :-)
så der er frit valg
Avatar billede supertekst Ekspert
31. marts 2010 - 22:46 #3
Private Sub CheckBox1_Change()
    If CheckBox1.Value = True Then
        Range("F10") = Range("F8") - Range("F9")
    Else
        Range("F11") = Range("F8") - Range("F9")
    End If
End Sub

rem Ovenstående udføres når checkboksen skifter værdi - men det er måske under andre omstændigheder?
Avatar billede ullum Praktikant
01. april 2010 - 18:39 #4
kan man lave det sådan at både en ændring i controlboksen og / eller en indtastning i f8 f9 gør det

hmm, jeg var ellers pænt tæt på selv :-)
Avatar billede supertekst Ekspert
01. april 2010 - 20:59 #5
ja da - vender tilbage senere
Avatar billede supertekst Ekspert
02. april 2010 - 10:44 #6
Version 2

Private Sub CheckBox1_Change()
    testCheckBox1
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$8" Or Target.Address = "$F$9" Then
        testCheckBox1
    End If
End Sub
Private Sub testCheckBox1()
    If CheckBox1.Value = True Then
        Range("F10") = Range("F8") - Range("F9")
        Range("F11") = ""                          'Sletter indhold i Falsk-celle
    Else
        Range("F11") = Range("F8") - Range("F9")
        Range("F10") = ""                          'Sletter indhold i Sand-celle
    End If
End Sub
Avatar billede ullum Praktikant
06. april 2010 - 13:01 #7
Super :-)
Avatar billede supertekst Ekspert
06. april 2010 - 13:11 #8
Ok & tak..
Avatar billede ullum Praktikant
06. april 2010 - 13:29 #9
kan jeg få lidt ekstra hjælp

Jeg lavede det om til denne

Private Sub CheckBox1_Change()
    testCheckBox1
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$P$5" Or Target.Address = "$O$5" Then
        testCheckBox1
    End If
End Sub
Private Sub testCheckBox1()
    If CheckBox1.Value = True Then
        Range("R5") = Range("P5") - Range("O5")
        Range("S5") = ""                          'Sletter indhold i Falsk-celle
    Else
        Range("S5") = Range("P5") - Range("O5")
        Range("R5") = ""                          'Sletter indhold i Sand-celle
    End If
End Sub
Private Sub CheckBox2_Change()
    testCheckBox2
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub
    If Target.Address = "$P$6" Or Target.Address = "$O$6" Then
        testCheckBox2
    End If
End Sub
Private Sub testCheckBox2()
    If CheckBox2.Value = True Then
        Range("R6") = Range("P6") - Range("O6")
        Range("S6") = ""                          'Sletter indhold i Falsk-celle
    Else
        Range("S6") = Range("P6") - Range("O6")
        Range("R6") = ""                          'Sletter indhold i Sand-celle
    End If
End Sub


Men den siger at Worksheet change er "ambiguous" jeg har prøvet med forskellige andre navne, men uden det store held, er der et forslag
Avatar billede supertekst Ekspert
06. april 2010 - 13:57 #10
Prøver lige atse på det...
Avatar billede supertekst Ekspert
06. april 2010 - 14:08 #11
Der kan kun være EN WORKSHEET_CHANGE(...
men heri kan du så opstille de forskellige betingelser

Private Sub CheckBox1_Change()
    testCheckBox1
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$P$5" Or Target.Address = "$O$5" Then
        testCheckBox1
    Else
        If Target.Address = "$P$6" Or Target.Address = "$O$6" Then
            testCheckBox2
        End If
    End If
End Sub
Private Sub testCheckBox1()
    If CheckBox1.Value = True Then
        Range("R5") = Range("P5") - Range("O5")
        Range("S5") = ""                          'Sletter indhold i Falsk-celle
    Else
        Range("S5") = Range("P5") - Range("O5")
        Range("R5") = ""                          'Sletter indhold i Sand-celle
    End If
End Sub
Private Sub CheckBox2_Change()
    testCheckBox2
End Sub
Private Sub testCheckBox2()
    If CheckBox2.Value = True Then
        Range("R6") = Range("P6") - Range("O6")
        Range("S6") = ""                          'Sletter indhold i Falsk-celle
    Else
        Range("S6") = Range("P6") - Range("O6")
        Range("R6") = ""                          'Sletter indhold i Sand-celle
    End If
End Sub
Avatar billede ullum Praktikant
06. april 2010 - 14:16 #12
:-)

vil du have flere p
Avatar billede supertekst Ekspert
06. april 2010 - 14:24 #13
Nej tak - har vist fået det, som opgaven kan bære..
Avatar billede ullum Praktikant
06. april 2010 - 14:25 #14
det kan godt være det var nemt for dig, men det er en stor hjælp for mig
Avatar billede supertekst Ekspert
06. april 2010 - 14:41 #15
Fint nok.. (det var set ud fra min side :-)
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