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

Find Target, , xlValues, xlWhole

Status
Niet open voor verdere reacties.

Esducsafe

Gebruiker
Lid geworden
2 sep 2009
Berichten
185
@Helpers
De code om te controleren of een getal in een kolom staat werkt perfect zolang de waarde in de kolom niet uit een andere kolom bijvoorbeeld: J3 = I3 komt. Al een paar dagen probeer ik uit te zoeken waarom de code niet werkt. Wie weet hoe de formule of de waarde in kolom J aangepast moet worden. Een voorbeeld heb ik bijgevoegd.
Alvast bedankt.
Esko

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iReply As Integer


On Error Resume Next

If Not Intersect(Target, Range("B2:F10")) Is Nothing Then
If Target.Column = 2 And [J2:J10].Find(Target, , xlFormulas, xlWhole) Is Nothing Then

If Target <> 0 Then
iReply = MsgBox("Het ........is " & vbCrLf & _
".....", vbCritical, "Invoer Fout!")
Target.ClearContents
End If
....
End If
 

Bijlagen

  • ControleFindVBA(1a).xls
    55,5 KB · Weergaven: 50
Laatst bewerkt:
Probeer eens
Code:
.Find(Target, , xlFormulas, xlWhole)
te vervangen door
Code:
.Find(Target, , xlValues, xlWhole)
 
@ExHelp,
Dank voor je reactie. Zie vorige casus. Als Xlvalues ipv xlFormulas wordt gebruikt werkt de code (en Msgbericht) niet als de kolom verborgen is. Dat is precies het probleem, wat ik niet weet op te lossen. Om e.a duidelijk te maken heb ik het voorbeeld bestandje bij mijn vraag bijgevoegd. Als je idee hebt, hoe het wel kan (even testen), hoor ik dat graag.
groet,
Esko
 
De oplossing heb ik gevonden door in de code een copy opdracht op te nemen en
vervolgens in de code de nieuwe kolomverwijzing op te nemen.
Nu nog aleen het verspringen (na enter) van de cursor.
Esko
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan