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

Macro starten bij invullen cel

Status
Niet open voor verdere reacties.
Als ik in kolom 11 (K) een cel leeg maak, krijg ik de melding "De order kan niet eerder afgewerkt worden voordat de Summary List gecontroleerd is met de Traceability List." dat is eigenlijk niet de bedoeling. De rest werkt correct.
 
Laatst bewerkt:
Ja sorry kleine vegissing:

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  
 Application.EnableEvents = False
  If Not Intersect(Target, Columns(9)) Is Nothing Then
     If Not IsEmpty(Target) = True And Not UCase(Target.Offset(, 1)) = "X" Then
         Target = IIf(MsgBox("Zorg dat de Traceability List aanwezig is voordat de eindafname plaatsvindt!", vbInformation, "Confirmatie") = vbYes, Target.Value, Target.Value)
     End If
  End If
  If Not Intersect(Target, Columns(11)) Is Nothing Then
    If Not IsEmpty(Target) And Not UCase(Target.Offset(, -1)) = "X" Then
            Target = IIf(MsgBox("Is de Summary List gecontroleerd met de Traceability List?", vbInformation + vbYesNo, "Confirmatie") = vbYes, Target.Value, "")
    If IsEmpty(Target) Then MsgBox ("De order kan niet eerder afgewerkt worden voordat de Summary List gecontroleerd is met de Traceability List.")
    End If
   End If
 Application.EnableEvents = True

End Sub
 
Dan kan je toch kolom K uitsluiten van deze regel:

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  
 Application.EnableEvents = False
  If Not Intersect(Target, Columns(9)) Is Nothing Then
     If Not IsEmpty(Target) = True And Not UCase(Target.Offset(, 1)) = "X" Then
         Target = IIf(MsgBox("Zorg dat de Traceability List aanwezig is voordat de eindafname plaatsvindt!", vbInformation, "Confirmatie") = vbYes, Target.Value, Target.Value)
     End If
  End If
  If Not Intersect(Target, Columns(11)) Is Nothing Then
    If Not IsEmpty(Target) And Not UCase(Target.Offset(, -1)) = "X" Then
            Target = IIf(MsgBox("Is de Summary List gecontroleerd met de Traceability List?", vbInformation + vbYesNo, "Confirmatie") = vbYes, Target.Value, "")
    If IsEmpty(Target) And [COLOR="#FF0000"]Not (Target.Columns) = 11 [/COLOR]Then MsgBox ("De order kan niet eerder afgewerkt worden voordat de Summary List gecontroleerd is met de Traceability List.")
    End If
   End If
 Application.EnableEvents = True

End Sub
 
Ik bedoel niet de "De order kan niet eerder afgewerkt worden voordat de Summary List gecontroleerd is met de Traceability List." melding, maar de volgende melding:

Fout 1004 tijdens uitvoering:
Door de toepassing of door object gedifinieerde fout

Als ik van blad 1 een rij kopieer naar blad 2 (in blad 2 staat de vba) krijg ik deze melding. Als ik op 'foutopsporing' klik arceert hij de regel " If Not IsEmpty(Target) And Not UCase(Target.Offset(, -1)) = "X" Then" in VBA.
 
Meaurk
Als ik in kolom 11 (K) een cel leeg maak, krijg ik de melding "De order kan niet eerder afgewerkt worden voordat de Summary List gecontroleerd is met de Traceability List." dat is eigenlijk niet de bedoeling. De rest werkt correct.

Dat was nochtans uw antwoord/vraag in post #21

En als je gaat copy/pasten in uw bestand zal er nog wel meer mislopen.
 
Laatst bewerkt:
Ja natuurlijk kan je dat ondervangen maar of dat het beste is weet ik van hieruit niet:

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
 [COLOR="#FF0000"]On Error GoTo Afsluiten[/COLOR]
 Application.EnableEvents = False
  If Not Intersect(Target, Columns(9)) Is Nothing Then
     If Not IsEmpty(Target) = True And Not UCase(Target.Offset(, 1)) = "X" Then
         Target = IIf(MsgBox("Zorg dat de Traceability List aanwezig is voordat de eindafname plaatsvindt!", vbInformation, "Confirmatie") = vbYes, Target.Value, Target.Value)
     End If
  End If
  If Not Intersect(Target, Columns(11)) Is Nothing Then
    If Not IsEmpty(Target) And Not UCase(Target.Offset(, -1)) = "X" Then
            Target = IIf(MsgBox("Is de Summary List gecontroleerd met de Traceability List?", vbInformation + vbYesNo, "Confirmatie") = vbYes, Target.Value, "")
    If IsEmpty(Target) And Not (Target.Columns) = 11 Then MsgBox ("De order kan niet eerder afgewerkt worden voordat de Summary List gecontroleerd is met de Traceability List.")
    End If
   End If
[COLOR="#FF0000"]Afsluiten:[/COLOR]
 Application.EnableEvents = True

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan