Danielle22
Gebruiker
- Lid geworden
- 8 mei 2007
- Berichten
- 378
Hallo allemaal,
Wat ik ook probeer maar ik kom niet echt verder. Als ik de datum wil wijzigen in de userform en dan ga wegschrijven dan worden de dag en datum omgedraaid. Als ik dan de gegevens weer ophaal en weer iets ga wijzigen dan worden weer de dag en maand van de datum omgedraaid.
Ik kan het bestand helaas niet uploaden (is te groot). Maar textbox B en I zijn de datum velden die steeds worden omgedraaid.
Voor het wijzigen van de gegevens in de userform gebruik ik deze code:
In deze code wordt er verwezen naar de itembewerken_module. Hierin staat de volgende code:
Weet iemand wat ik moet veranderen of aanpassen zodat de datumvelden van textbox B en I niet steeds worden omgedraaid?
Alvast heel erg bedankt voor de eventuele hulp.
Groetjes,
Danielle
Wat ik ook probeer maar ik kom niet echt verder. Als ik de datum wil wijzigen in de userform en dan ga wegschrijven dan worden de dag en datum omgedraaid. Als ik dan de gegevens weer ophaal en weer iets ga wijzigen dan worden weer de dag en maand van de datum omgedraaid.
Ik kan het bestand helaas niet uploaden (is te groot). Maar textbox B en I zijn de datum velden die steeds worden omgedraaid.
Voor het wijzigen van de gegevens in de userform gebruik ik deze code:
Code:
Private Sub wijzig_Click()
'sorteer alles terug
ActiveWindow.SmallScroll ToRight:=-3
ActiveWorkbook.Worksheets("Werkblad").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Werkblad").Sort.SortFields.Add Key:=Range( _
"A3:A12695"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Werkblad").Sort
.SetRange Range("A2:L12695")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select 'eins backsorteer
zoeknaam = Itembewerken.zoeknaam.Value
[B]itembewerken_module[/B] (zoeknaam) 'AANPASSEN
response = MsgBox("Wilt u andere gegevens wijzigen?", vbYesNo, Title:="Gegevens wijzigen!")
If response = vbNo Then
Me.Hide
Unload Me
Else
Unload Me
On Error Resume Next
Itembewerken.Show 'AANPASSEN
On Error GoTo 0
End If
''ActiveWorkbook.Save 'save het bestand
Sheets("Werkblad").Select
With ActiveSheet 'verwijzen naar werkblad
With .Range("A2:A" & .Cells(.Rows.Count, "E").End(xlUp).Row) 'maak van tekst ordernummer een getal (active sheet wel aanpassen!)
.NumberFormat = "###0"
.Value = .Value
Sheets("Werkblad").Select
Range("F3:G45").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("G15").Select
ActiveWorkbook.Save 'save het bestand
Hoofdmenu.Show
End With
End With
End Sub
In deze code wordt er verwezen naar de itembewerken_module. Hierin staat de volgende code:
Code:
Sub itembewerken_module(zoeknaam As String)
Dim MyRange As Variant
Dim c As Range
Dim i As Long
Set MyRange = Worksheets("Werkblad")
zoeknaam = Itembewerken.zoeknaam.Value
'tegen flikkeren van beeldscherm
Application.ScreenUpdating = False
If Itembewerken.zoeknaam.Text = Empty Then
MsgBox "!! Je hebt niets geslecteerd !!"
MsgBox "!! Er kan dus niets gewijzigd worden !!"
Else
'wat gaan we opslaan
KolomB = Itembewerken.KolomB.Value
KolomC = Itembewerken.KolomC.Value
KolomD = Itembewerken.KolomD.Value
KolomF = Itembewerken.KolomF.Value
KolomG = Itembewerken.KolomG.Value
KolomH = Itembewerken.KolomH.Value
KolomI = Itembewerken.KolomI.Value
KolomK = Itembewerken.KolomK.Value
KolomL = Itembewerken.KolomL.Value
'InStr geeft het locatienummer van waar de komma staat in de string zoeknaam
i = InStr(zoeknaam, ", ")
'Left geeft vanaf links aantal karakters weer in de string zoeknaam.
'we doen dit mbv de locatie van de komma
'bv jan, klaassen dan is Instr = 4 (, staat op de 4e plek), left is dan Instr - 1 want de komma willen we niet. Left = Instr - 1 (Jan, - , wordt Jan)
stZoekenLinks = Trim(Left(zoeknaam, i - 1))
'Hier zoeken we in de string zoeknaam naar het midden gedeelte.
'We zoeken het gedeelte tussen de komma en de spatie
stKolomf = Mid(zoeknaam, i + 2, InStr(i + 2, zoeknaam, " ") - (i + 2)) 'Achternaam
'Hier zoeken we gegevens rechts van de spatie.
'met de functie Trim halen we de komma's links en recht (als deze aanwezig zijn) weg
stZoekenRechts = Right(zoeknaam, Len(zoeknaam) - InStr(i + 2, zoeknaam, " "))
For Each c In MyRange.Range("E3:E20000")
If c = stZoekenLinks And c.Offset(0, 1).Value = stKolomf And c.Offset(0, 2).Value = stZoekenRechts Then
MyRange.Range("B" & c.Row) = Itembewerken.KolomB.Text
MyRange.Range("C" & c.Row) = Itembewerken.KolomC.Text
MyRange.Range("D" & c.Row) = Itembewerken.KolomD.Text
MyRange.Range("F" & c.Row) = Itembewerken.KolomF.Text
MyRange.Range("G" & c.Row) = Itembewerken.KolomG.Text
MyRange.Range("H" & c.Row) = Itembewerken.KolomH.Text
MyRange.Range("I" & c.Row) = Itembewerken.KolomI.Text
MyRange.Range("K" & c.Row) = Itembewerken.KolomK.Text
MyRange.Range("L" & c.Row) = Itembewerken.KolomL.Text
End If
Next
'tegen flikkeren van beeldscherm
Application.ScreenUpdating = True
naam1 = Itembewerken.KolomE.Text & " " & Itembewerken.KolomF.Text & " " & Itembewerken.KolomG.Text
naam2 = Itembewerken.KolomE.Text & " " & Itembewerken.KolomG.Text
If Itembewerken.KolomF.Text <> "" Then
MsgBox ("Gegevens van " & naam1 & " zijn gewijzigd!")
Else
MsgBox ("Gegevens van " & naam2 & " zijn gewijzigd!")
End If
End If
End Sub
Weet iemand wat ik moet veranderen of aanpassen zodat de datumvelden van textbox B en I niet steeds worden omgedraaid?
Alvast heel erg bedankt voor de eventuele hulp.
Groetjes,
Danielle