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

on error in macro

Status
Niet open voor verdere reacties.

W Bloemendal

Gebruiker
Lid geworden
28 jan 2001
Berichten
503
Hallo

Ik heb een macro met een invulscherm.
Door iets in tegeven gaat de macro naar een bepaalde cel, maar als er een verkeerde ingave is krijg ik een foet melding "1004" nu wil ik in plaats van de voutmeldin een msgbox krijgen zodat gebruikers van het programma weet wat er fout is.

wim
 
Wim,

Moeilijk een goed antwoord te geven als we niet weten wat er moet ingevuld worden.

Veronderstel dat je een nummer moet invullen:

If Not IsNumeric(txtInvulscherm) Then
MsgBox "U moet een nummer invullen"
Else
Cells(1, txtInvulscherm.Value).Select
End if

Luc
 
eerst was de ingave van 1 tot 10, teon kon ik ingevenals Y<1of >10 dan msgbox
nu moet het prog. uitgebreidt worden en moeten er on logische gegevens ingevuld worden b.v.
A1, T3, E2

hier word in de macro iets aan toegevoegd en heb ik een celverwijzing.

nu wil ik als er bij een bepaalde ingave geen cel naam is dat er een msg box komt met bv verkeer de ingave

ikheb geprobeerd met on error goto maar ik weet niet hoe ik dan verder moet

wim
 
Wim,

Zo bijvoorbeeld?
(Uw tekstbox is vervangen door InputBox, om makkelijk te testen)

Sub test()
Dim s As String
s = InputBox("")
If TestRange(s) = False Then
MsgBox "Foutje"
Else
Range(s).Select
End If
End Sub

Function TestRange(rng As String) As Boolean
On Error Resume Next
Range(rng).Select
If Err.Number <> 0 Then
TestRange = False
Else
TestRange = True
End If
Err.Number = 0
End Function
 
Dit is de macro

Dim Machnr As String


If ActiveWindow.RangeSelection.Columns.Count = 256 And ActiveWindow.RangeSelection.Cells.Count = 256 Then

Y = InputBox("geef Machine nr", "Machine")

Machnr = "Machine" & Y



Selection.Copy
Application.Goto Reference:=Machnr
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
Sheets("UITGEGEVEN").Select
Selection.Delete Shift:=xlUp
Sheets("Boorlijst").Select


Else
MsgBox "Geen goede selectie", vbExclamation
End If
End Sub


nu moet als er voor Y een verkeerde ingave is een msgbox komen

wim
 
zo?

Sub test2()
Dim Machnr As String
Dim Y As Long

If ActiveWindow.RangeSelection.Columns.Count = 256 _
And ActiveWindow.RangeSelection.Cells.Count = 256 Then

Y = InputBox("geef Machine nr", "Machine")

Machnr = "Machine" & Y
If TestName(Machnr) = False Then
MsgBox "Foutje"
Exit Sub
Else

Selection.Copy
Application.Goto Reference:=Machnr
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
Sheets("UITGEGEVEN").Select
Selection.Delete Shift:=xlUp
Sheets("Boorlijst").Select
End If

Else
MsgBox "Geen goede selectie", vbExclamation
End If

End Sub

Function TestName(sName As String) As Boolean
On Error Resume Next
Range(sName).Select
If Err.Number = 0 Then
TestName = True
Else
TestName = False
End If
Err.Number = 0
End Function
 
Hallo

Ik heb de oplossing van luc geprobeert maar het werkt nog niet nu elke ingave foet melding

als bijlage prog toegevoegd

wie weet oplossing
 
gevonden

begin macro on error goto 10

einde macro begin regel 10 msgbox "foute ingave", vbExclamation

wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan