code aanvullen om cell te clearen indien 'blank'

Status
Niet open voor verdere reacties.

ExcelExcellence

Gebruiker
Lid geworden
3 sep 2020
Berichten
22
Hallo allerzijds,

Code van het web geplukt (ben zelf een VBA nitwit) die ervoor zorgt dat als ik iets verander in column A (oftewel 0 via de offset)... datum en tijd ingevuld wordt in column Q (oftewel nr. 16 via die offset).
Code werkt prima:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
With Target.Offset(0, 16)
.Value = Now
End With
End Sub

Maar ik had graag 2 aanpassingen/aanvullingen gehad.
1. Als ik een cell in column A 'delete' moet'ie de eventuele waarde in de cell in column Q ook 'deleten'.
2. Hoe wordt de code als ik dit wil doen voor een 'range' ipv een hele column? Bijvoorbeeld range A5:A150 ipv column A?

Wie o wie kan me daarbij helpen?

b.v.d. :thumb:
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A5:A150")) Is Nothing Then
        If Target.Cells.Count > 1 Then Exit Sub
            With Target.Offset(0, 16)
                .Value = IIf(Target.Value = "", "", Now)
            End With
    End If
End Sub
 
topper!

Eric,

Hartstikke bedankt!
Works like a charm!
Beide issues getackeld!

Je bent een topper! :thumb::D

(Dacht even dat "IIF" een typo zou zijn... maar dus niet! :rolleyes: )
 
Laatst bewerkt:
aanvulling

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A5:A150")) Is Nothing Then
        If Target.Cells.Count > 1 Then Exit Sub
            With Target.Offset(0, 16)
                .Value = IIf(Target.Value = "", "", Now)
            End With
    End If
End Sub



Hallo Eric,

Benodig inmiddels een kleine aanvulling die ik gepost heb op "helpmij".... waarschijnlijk tackle jij dat het snelste als je een blik zou kunnen werpen:

Jou code is inmiddels aangepast tot onderstaande:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("A5:A4000")) Is Nothing Then
      If Target.Cells.Count > 1 Then Exit Sub
         With Target.Offset(0, 24)
             .Value = IIf(Target.Value = "", "", Now)
         End With
     End If
End Sub

Nu had ik heel graag aldus nog de volgende aanvulling gehad:

In kolom V (i.g.v. offset nr. 21) staat een 'datum en tijd' "dd-mmm-yy hh:mm" in een formule.
De waarde hiervan moet als 'harde waarde' gekopieerd worden naar kolom X (i.g.v. offset nr. 23) indien de gelijknummerige cell in kolom A wordt 'aangepast'....
en insgelijks als ik kolom A delete moet de waarde in kolom X gedelete worden.... net als bij die vorige code....
Hoop dat dit duidelijk is.

Heb zelf wat liggen klooien maar tot nu toe wil het niet lukken...
Zou top zijn als je weer de helpende hand kan bieden....

b.v.d. grts Jo
 
Laatst bewerkt door een moderator:
De forumregels niet gelezen? Het quoten is niet nodig en de code graag tussen codetags. Mag alleen Eric reageren?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("A5:A4000")) Is Nothing And Target.Count = 1 Then
    With Target
      .Offset(, 24) = IIf(Target.Value = "", "", Now)
      .Offset(, 23) = IIf(Target.Value = "", "", .Offset(, 21).Value)
    End With
  End If
End Sub
 
werkt!

Werkt perfect!

Much obliged VenA! :thumb:

Quotes? Ja heb iets gelezen van quotes maar snapte het niet helemaal.
Zal het uitzoeken en de vlg x correct een post maken....

For now: hartstikke bedankt! :D
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan