• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Waarde in 1 kolom plaatsen na spinup of spindown

Status
Niet open voor verdere reacties.

wlsandman

Gebruiker
Lid geworden
22 sep 2006
Berichten
71
Heren,

Ik heb de volgende code:

Code:
Private Sub SpinButton1_SpinUp()
ActiveCell.Rows.Offset(1, 1).Hidden = True
ActiveCell.Rows.Offset(1, "BG:BG").Value = "1"
ActiveCell.Rows.Offset(2, 1).Hidden = True
ActiveCell.Rows.Offset(2, "BG:BG").Value = "1"
End Sub

Code:
Private Sub SpinButton1_SpinDown()
ActiveCell.Rows.Offset(1, 1).Hidden = False
ActiveCell.Rows.Offset(1, "BG:BG").Value = "0"
ActiveCell.Rows.Offset(2, 1).Hidden = False
ActiveCell.Rows.Offset(2, "BG:BG").Value = "0"
End Sub

Via een spinbutton kan de gebruiker ervoor kiezen om 2 rijen (onder de active cell) te laten zien of te verbergen.
Nu wil ik ook graag hebben, dat als de gebruiker ervoor kiest om een rij te laten zien (.hidden = false) dat er in kolom BG in diezelfde rij die weer getoont wordt om er dan ook een 0 in te zetten.

Dit lukt als de activecell elke keer hetzelfde is, alleen moet de gebruiker zo vrij zijn dat hij in elke cell in een rij de functie kan oproepen. De offset functie werkt hier dus niet!

Wie kan mij helpen?
 
Na enig prutswerk het antwoord: :o

Code:
Private Sub SpinButton1_SpinUp()
Dim cnr As Long
cnr = ActiveCell.Column
cnr1 = 60
cnr2 = cnr1 - cnr
ActiveCell.Rows.Offset(1, 1).Hidden = True
ActiveCell.Rows(2).Columns(cnr2).Value = "0"
ActiveCell.Rows.Offset(2, 1).Hidden = True
ActiveCell.Rows(3).Columns(cnr2).Value = "0"
End Sub

Code:
Private Sub SpinButton1_SpinDown()
Dim cnr As Long
cnr = ActiveCell.Column
cnr1 = 60
cnr2 = cnr1 - cnr
ActiveCell.Rows.Offset(1, 1).Hidden = False
ActiveCell.Rows(2).Columns(cnr2).Value = "1"
ActiveCell.Rows.Offset(2, 1).Hidden = False
ActiveCell.Rows(3).Columns(cnr2).Value = "1"
End Sub
 
Laat de " " rond getallen weg (tenzij ze echt tekst zijn)

en ook Resize gebruiken en With. Maak de code begrijpbaarder en (iets) sneller.

Voor de spindown:
Code:
Private Sub SpinButton1_SpinUp()
    
    Dim cnr As Long
    Const cnr1 As Integer = 60
    With ActiveCell
        cnr2 = cnr1 - .Column
        .Offset(1).EntireRow.Resize(2).Hidden = True
        .Offset(1, cnr2 - 1).Resize(2).Value = 0
    End With
End Sub

Wigi
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan