• 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.

Maken van een keuzen box

Status
Niet open voor verdere reacties.

Shery

Gebruiker
Lid geworden
27 aug 2006
Berichten
70
Wie kan mij helpen?
Ik heb in Excel twee tabbladen. Update en Invoer allebei hebben ze 5 kolommen
Nu kan ik op het Tabblad Invoer regels bewerken in willekeurige volgorde. Als deze goed zijn heb ik een button waarmee ik de regels kan verplaatsen naar het tabblad Update. Waar ze op de juiste plek worden ingevuld. Dit werkt prima. Maar hij pakt wel altijd alle 5 kolommen om te kopiëren.
Nu wilde ik een user form maken met 4 checkboxen waar ik kan bepalen welke kolommen wel en welke niet gekopieerd mogen worden. Ik kom er zelf niet zo goed uit zie onderstaande regels

Private Sub CommandButton1_Click()
Dim p As Long
p = 2

Do While Cells(p, 1) <> ""
CDU_ID = Cells(p, 1)

' If CheckBox1.Value = True Then
Sheets("Update").Cells(CDU_ID - 1999, 2) = Sheets("Invoer").Cells(p, 2)
' If CheckBox2.Value = True Then
Sheets("Update").Cells(CDU_ID - 1999, 3) = Sheets("Invoer").Cells(p, 3)
' If CheckBox2.Value = True Then
Sheets("Update").Cells(CDU_ID - 1999, 4) = Sheets("Invoer").Cells(p, 4)
' If CheckBox2.Value = True Then
Sheets("Update").Cells(CDU_ID - 1999, 5) = Sheets("Invoer").Cells(p, 5)
' End If

p = p + 1
Loop

End Sub

Userform.PNG
 
Laatst bewerkt:
En je voorbeeld document?
Daarnaast is "Treu" geen bekende waarde voor VBA.

En je mag dat ook gewoon weg laten:
Code:
If CheckBox1.Value Then Sheets("Update").Cells(CDU_ID - 1999, 2) = Sheets("Invoer").Cells(p, 2)
 
Laatst bewerkt:
wijzig om te beginnen Treu eens in True
 
Ja, ik zie de typo nu ook deze direct aangepast. maar de vraag blijft
Ik heb het document er nu bij zitten
op het tabblad Invoer heb ik een extra button userform aangemaakt waarmee ik dit wil gaan proberen te maken
 

Bijlagen

  • Test status update.xlsm
    149,9 KB · Weergaven: 25
Wat moet er nu gebeuren? Waarom die - 1999?

Als het alleen om updaten gaat dan mogelijk zoiets.
Code:
Private Sub CommandButton1_Click()
  ar = Sheets("Invoer").Cells(1).CurrentRegion
  With Sheets("Update")
    ar1 = .Cells(1).CurrentRegion
    For j = 2 To UBound(ar)
      r = Application.Match(ar(j, 1), .Columns(1), 0)
      If IsNumeric(r) Then
        If CheckBox1 Then ar1(r, 2) = ar(j, 2)
        If CheckBox2 Then ar1(r, 3) = ar(j, 3)
        If CheckBox3 Then ar1(r, 4) = ar(j, 4)
        If CheckBox4 Then ar1(r, 5) = Format(ar(j, 5), "mm-dd-yyyy")
      End If
    Next j
    .Cells(1).CurrentRegion = ar1
  End With
End Sub
 
VenA Bedankt.
Ik snap de formule nog niet helemaal maar ik heb hem in mijn Excel geplakt en het werkt fantastisch.
Ik denk dat ik hem nog een paar keer rustig moet lezen. En die -1999 was mijn trucje om van het CDU ID naar de regelnummer te komen.
Nogmaals Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan