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

Vba code aanpassen

Status
Niet open voor verdere reacties.

JosEindhoven

Gebruiker
Lid geworden
4 dec 2014
Berichten
431
Hallo

In bijgevoegd bestand zit een formulier waar ik records mee kan invoeren,aanpassen, verwijderen en het formulier sluiten.

Echter, wanneer ik een jaartal wil wijzigen van een record dan krijg ik onmiddellijk een foutmelding.
Alle andere gegevens kan ik wijzigen maar het jaartal geeft problemen.

Wat zit er fout in de code ???????
 

Bijlagen

  • dvd test.xlsb
    46,4 KB · Weergaven: 49
De jaartallen staan in de zoek kolom. Als je een jaartal gaat veranderen dan krijgt hij deze niet meer gevonden of als je het jaartal verandert in een al bestaand jaartal worden deze gegevens overschreven. Het beste werk je dan met een kolom met unieke nummers waar je op zoekt.
 
Zonder de gehele code bij langs te gaan.

Code:
iRow = ws.Cells.Find(What:=[COLOR=#0000ff]LB_01.Column(0)[/COLOR], SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row
 
Een nieuw hapje studievoer:)
@Harry Als je meer dan één event hebt in hetzelfde jaar zal uw oplossing niet werken.
 

Bijlagen

  • dvd test-1.xlsb
    47 KB · Weergaven: 46
Laatst bewerkt:
Hey Philiep

Bestand werkt niet
Kan niet wijzigen/toevoegen of verwijderen met jou oplossing
 
Laatst bewerkt:
Je hoeft ook niet te zoeken als de listbox gelijk is aan het bereik.
Code:
Private Sub CommandButton2_Click()
   If LB_01.ListIndex = -1 Then
        MsgBox "Kies eerst een ingave in de lijst!", vbCritical, "Ingave?"
        LB_01.SetFocus
        Exit Sub
    End If
    If MsgBox("Correcte aanpassing?", vbYesNo + vbQuestion, "Kijk de gegevens na!") = vbYes Then
     Worksheets("Data").Cells(LB_01.ListIndex + 2, 1).Resize(, 5).Value = Array(T_01.Value, T_02.Value, T_03.Value, T_05.Value, T_06.Value)
    MsgBox "De aanpassingen zijn opgeslagen!", vbInformation, "Klaar"
    For Each Ctrl In Controls
        If TypeName(Ctrl) = "TextBox" Then Ctrl.Value = ""
    Next
    End If
    UserForm_Initialize  'hier zou ik gewoon listbox opnieuw vullen zonder initialize
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan