Avatar billede -l_jogge_l- Nybegynder
23. juni 2004 - 15:16 Der er 3 kommentarer og
1 løsning

Hjælp til en nemmere kode?

Se lige denne her:

Og jeg er kun halvvejs.... der må da være en nemmere måde???????


Private Sub CheckBox5_Click()
With CheckBox5
Me.Rows("79:79").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox6_Click()
With CheckBox6
Me.Rows("80:80").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox7_Click()
With CheckBox7
Me.Rows("81:81").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox8_Click()
With CheckBox8
Me.Rows("82:82").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox9_Click()
With CheckBox9
Me.Rows("83:83").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox10_Click()
With CheckBox10
Me.Rows("84:84").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox11_Click()
With CheckBox11
Me.Rows("85:85").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox12_Click()
With CheckBox12
Me.Rows("86:86").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox13_Click()
With CheckBox13
Me.Rows("87:87").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox14_Click()
With CheckBox14
Me.Rows("88:88").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox15_Click()
With CheckBox15
Me.Rows("89:89").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox16_Click()
With CheckBox16
Me.Rows("90:90").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox17_Click()
With CheckBox17
Me.Rows("91:91").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox18_Click()
With CheckBox18
Me.Rows("92:92").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox19_Click()
With CheckBox19
Me.Rows("93:93").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox20_Click()
With CheckBox20
Me.Rows("94:94").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox21_Click()
With CheckBox21
Me.Rows("95:95").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox22_Click()
With CheckBox22
Me.Rows("96:96").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox23_Click()
With CheckBox23
Me.Rows("97:97").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox24_Click()
With CheckBox24
Me.Rows("98:98").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox25_Click()
With CheckBox25
Me.Rows("105:105").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox26_Click()
With CheckBox26
Me.Rows("106:106").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox27_Click()
With CheckBox27
Me.Rows("107:107").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox28_Click()
With CheckBox28
Me.Rows("108:108").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox29_Click()
With CheckBox29
Me.Rows("109:109").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox30_Click()
With CheckBox30
Me.Rows("110:110").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox31_Click()
With CheckBox31
Me.Rows("111:111").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox32_Click()
With CheckBox32
Me.Rows("112:112").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox33_Click()
With CheckBox33
Me.Rows("113:113").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox34_Click()
With CheckBox34
Me.Rows("114:114").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox35_Click()
With CheckBox35
Me.Rows("115:115").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox36_Click()
With CheckBox36
Me.Rows("116:116").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox37_Click()
With CheckBox37
Me.Rows("117:117").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox38_Click()
With CheckBox38
Me.Rows("118:118").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox39_Click()
With CheckBox39
Me.Rows("119:119").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox40_Click()
With CheckBox40
Me.Rows("120:120").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox41_Click()
With CheckBox41
Me.Rows("121:121").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox42_Click()
With CheckBox42
Me.Rows("122:122").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox43_Click()
With CheckBox43
Me.Rows("123:123").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox44_Click()
With CheckBox44
Me.Rows("124:124").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox45_Click()
With CheckBox45
Me.Rows("131:131").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox46_Click()
With CheckBox46
Me.Rows("132:132").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox47_Click()
With CheckBox47
Me.Rows("133:133").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox48_Click()
With CheckBox48
Me.Rows("134:134").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Private Sub CheckBox49_Click()
With CheckBox49
Me.Rows("135:135").Select
If .Value = True Then Selection.RowHeight = 45
If .Value <> True Then Selection.RowHeight = 15
End With
End Sub
Avatar billede knowit-mmp Nybegynder
23. juni 2004 - 15:39 #1
Jo, der er da en nemmere måde, men du kan nok ikke undgå at angive clickevents for alle dine Checkboxe, da VBA ikke kan benytte sig af ControlArrays...

Men den kode der køres er jo i bund og grund den samme, og kan derfor med fordel indsættes i en seperat funktion som i eksemplet.

CheckBoxXX skal erstattes med det aktuelle navn for checkboksen.


Private sub CheckBoxXX_Click()

  adjustRow([IntRowNumber],CheckBoxXX.value)

End Sub

'Denne kode ^ placeres under alle dine CheckBox-Click-events.

Sub adjustRow(intRow as Integer, blnOnOff as boolean)

    if blnOnOff then 
        cells(intRow,1).entireRow.Height= 45
    else
        cells(intRow,1).entireRow.Height= 15
    end if

End sub

'Denne kode ^ Er den generelle funktion der kaldes.
Avatar billede knowit-mmp Nybegynder
23. juni 2004 - 15:48 #2
En mindre kludrefejl i min kode, men denne kode ser ud til at virke...:


Private Sub CheckBox1_Click()
   
    adjustRow 4, CheckBox1.Value

End Sub

Private Sub CheckBox2_Click()

    adjustRow 5, CheckBox2.Value

End Sub

Private Sub CheckBox3_Click()
   
    adjustRow 6, CheckBox3.Value

End Sub

Sub adjustRow(intRow As Integer, blnOnOff As Boolean)

    If blnOnOff Then
        Cells(intRow, 1).EntireRow.RowHeight = 45
    Else
        Cells(intRow, 1).EntireRow.RowHeight = 15
    End If

End Sub
Avatar billede -l_jogge_l- Nybegynder
24. juni 2004 - 08:30 #3
Det vrker sgu fint!!

Kan du ikke give en lillle forklaring på hvad det er der sker??

Synes det virker meget smart... kan osse bruge det andre steder i mit program tror jeg!
Avatar billede knowit-mmp Nybegynder
25. juni 2004 - 09:43 #4
Jo da....

Proceduren adjustRow(intRow as integer, blnOnOff as boolean) er den der rent fysisk ændrer række-højden.
Det er jo den samme procedure der køres, uanset hvilken checkbox der bliver klikket af......
Den modtager 2 parametre : Hvlken række skal ændres? og er den slået til eller fra?

Proceduren bliver så kaldt med disse 2 parametre, som er det der ændres for hver checkbox....

Var det forklaring nok? :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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