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

Typen komen niet overeen Fout 13 met Cdate

Status
Niet open voor verdere reacties.

loek010

Gebruiker
Lid geworden
1 jul 2016
Berichten
366
Beste Hulpverleners,

Ik zit met een probleem met onderstaande code waar ik met Cdate de correcte datum naar de cel schrijft dat werkt maar als textboxen van het userform
geen datum bevatten dan krijg ik de foutmelding fout 13 de textboxen hebben niet altijd een datum nodig
hoe kan ik deze fout verhelpen in de array

Code:
Private Sub Cmd_01_Click()
    ActiveWorkbook.Worksheets("Mutatie").ListObjects("Mutatie_tbl").AutoFilter.ShowAllData
    Set ws = Worksheets("Mutatie")
    Set Rng = [LNRs]
    Set fnd = Rng.Find(What:=TXBX_00.value, LookIn:=xlValues, LookAt:=xlWhole)
    If Not fnd Is Nothing Then
    ws.Cells(fnd.Row, 1).Resize(, 24).value = Array(TXBX_00.value, TXBX_01.value, TXBX_02.value, TXBX_03.value, TXBX_04.value, _
    TXBX_05.value, TXBX_06.value, TXBX_07.value, TXBX_08.value, TXBX_09.value, TXBX_10.value, _
    TXBX_11.value, TXBX_12.value, [COLOR="#FF0000"]CDate(TXBX_13.value), CDate(TXBX_14.value)[/COLOR], TXBX_15.value, TXBX_16.value, TXBX_17.value, TXBX_18.value, TXBX_19.value, _
    TXBX_20.value, TXBX_21.value, TXBX_22.value, TXBX_23.value)
    End If
reset
End Sub
 
Door ze eerst even in een variabele te zetten.

Code:
Private Sub CommandButton1_Click()
  If IsDate(TextBox1) Then x = CDate(TextBox1)
  If IsDate(TextBox2) Then y = CDate(TextBox2)
  Z = Array(x, y)
End Sub
 
Laatst bewerkt:
@VenA

Top:thumb: ik moest het eerst even tot me door laten dringen hoe ik dit in mijn code moest toepassen
maar het is gelukt, en het werkt bedankt voor de oplossing
 
Laatst bewerkt:
Code:
ws.Cells(fnd.Row, 1).Resize(, 24).value = Array(TXBX_00, TXBX_01, TXBX_02, TXBX_03, TXBX_04,TXBX_05, TXBX_06, TXBX_07, TXBX_08, TXBX_09, TXBX_10, TXBX_11, TXBX_12, iif(TXBX_13="","",CDate(TXBX_13)), iif(TXBX_14="","",CDate(TXBX_14)), TXBX_15, TXBX_16, TXBX_17, TXBX_18, TXBX_19, TXBX_20, TXBX_21, TXBX_22, TXBX_23)

Overigens vermoed ik dat er een verband is tussen het userform en het werkblad, zodat 'Find' overbodig is. De listindex van een combobox of Listbox zou voldoende kunnen zijn om de gegevens op de juiste plaats weg te schrijven. (of beter nog om de gegevens eerst in de combobox of listbos te wijzigen voordat ze op het laatst in 1 keer naar het werkblad worden geschreven als vervanging van de databodyrange van het Listobject.
 
@snb,

De iif constructie gaat volgens mij niet werken omdat ook het tweede argument getoetst wordt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan