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

Status
Niet open voor verdere reacties.

golfboy03

Gebruiker
Lid geworden
24 dec 2015
Berichten
13
Beste wie kan mij deze 2 vba codes combineren. Deze geeft een dubbelzinnige Private Sub Worksheet_Change fout.



Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("H20")) Is Nothing Then Exit Sub
Target.Offset(-6, 9) = Format(Now, "dd-mm-yyyy")

End Sub


Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [U20:U49]) Is Nothing Then Exit Sub
Kelime = Replace(Target.Value, "i", "I")
Kelime = Replace(Kelime, "i", "I")
Target.Value = StrConv(Kelime, vbUpperCase)

End Sub
 
Ik denk zo:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$H$20" Then Target.Offset(-6, 9) = Format(Now, "dd-mm-yyyy")
    If Not Intersect(Target, [U20:U49]) Is Nothing Then Target = UCase(Target)
End Sub
 
Dank u voor snelle antwoord maar, heb een foutje op het laatste

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$20" Then Target.Offset(-6, 9) = Format(Now, "dd-mm-yyyy")
If Not Intersect(Target, [U20:U49]) Is Nothing Then Target = UCase(Target)
End Sub
 
Laatst bewerkt:
Ik denk dat deze een beetje meer kans op slagen heeft:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$H$20" Then Target.Offset(-6, 9) = Format(Now, "dd-mm-yyyy")
Application.EnableEvents = False
 If Not Intersect(Target, Range("U20:U49")) Is Nothing Then
       Target = UCase(Target)
 End If
Application.EnableEvents = True
End Sub
 
Zet de 'enableevents = false' bovenaan in de code, anders loopt de code onnodig een aantal keren.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Application.EnableEvents = False
  If Target.Address = "$H$20" Then Target.Offset(-6, 9) = Date 'Format(Now, "dd-mm-yyyy")
  If Not Intersect(Target, [U20:U49]) Is Nothing Then Target = UCase(Target)
 Application.EnableEvents = True
End Sub
 
Dank u wel allemaal. Het werkt naar wens.
Heb nog een ander vraag ivm deze code. Is er een mogelijkheid om van U20:U49 cellen leeg te maken met een ander macrotje.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan