Foutmelding inputbox wanneer er op annuleren wordt geklikt.

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
947
Hallo Helpmijers,

Onderstaande macro werkt prima, alleen wanneer ik op annuleren klik gaat deze naar de foutmodus i.p.v. terug naar het excelbestand. Wat moet ik hier nog aan toepassen zodat dit probleem zich niet meer voor doet?

Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.EntireRow.Range("p1") = "" Then
If ActiveCell.EntireRow.Range("n1") = "marge" Then
ActiveCell.EntireRow.Range("p1") = InputBox("Vermeld hier het AANKOOPBEDRAG van het verkochte artikel.") * ActiveCell.EntireRow.Range("c1")
End If
End If
End Sub

Een antwoord zie ik met veel belangstelling tegemoet.

Met vriendelijke groet,
Robert Smidt
 
Zoiets; Al vind ik de constructie een beetje vreemd.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim box As Double
Application.EnableEvents = False
 If ActiveCell.EntireRow.Range("p1") = "" And ActiveCell.EntireRow.Range("n1") = "marge" Then
   box = Application.InputBox("Vermeld hier het AANKOOPBEDRAG van het verkochte artikel.", , , , , , , 1)
   If box > 0 Then ActiveCell.EntireRow.Range("p1") = box * ActiveCell.EntireRow.Range("c1")
 End If
 Application.EnableEvents = True
 End Sub

Waarom gebruik je geen target.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim box As Double
Application.EnableEvents = False
 If Target.EntireRow.Range("p1") = "" And Target.EntireRow.Range("n1") = "marge" Then
   box = Application.InputBox("Vermeld hier het AANKOOPBEDRAG van het verkochte artikel.", , , , , , , 1)
   If box > 0 Then Target.EntireRow.Range("p1") = box * target.EntireRow.Range("c1")
 End If
 Application.EnableEvents = True
 End Sub
 
Laatst bewerkt:
Bedankt, het werkt

Beste HSV,

De code werkt prima. Heel hartelijk bedankt.

Met vriendelijke groeten,
Robert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan