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

Run-time error '1004'

Status
Niet open voor verdere reacties.

sjoerd81

Gebruiker
Lid geworden
24 jul 2009
Berichten
161
Hallo,

Op een pc werkt onderstaande code en op een andere niet. Ik krijg de volgende melding:

Run-time error '1004':

Method 'DisplayAlerts' of object '_Application' failed


Ik heb deze code

Sub button()
Application.DisplayAlerts = False
If [A1] = "OK" Then
Sheets(Array("Bl", "Gr", "GRo")).Delete
Application.Dialogs(xlDialogSendMail).Show _
arg1:=Range("A2"), _
arg2:=Range("A3")
End If
Application.DisplayAlerts = True
End Sub


Wat moet ik aanpassen?

Sjoerd
 
sjoerd,

Werkt op beide pc's dezelfde excel versie?

P.s.: plaats voortaan de code in een box, selecteer de code en klik op het symbool #
 
Volgens mij beiden excel 2003.

Wat bedoel je met "plaats voortaan de code in een box, selecteer de code en klik op het symbool # "?
 
Code:
Sub button()
Application.DisplayAlerts = False
If [A1] = "OK" Then
Sheets(Array("Bl", "Gr", "GRo")).Delete
Application.Dialogs(xlDialogSendMail).Show _
arg1:=Range("A2"), _
arg2:=Range("A3")
End If
Application.DisplayAlerts = True
End Sub

Tekst plakken, selecteren en dan op # klikken. Maakt alles een stuk overzichtelijker

En inspringen in je code maakt het ook leesbaar:

Code:
Sub button()
Application.DisplayAlerts = False
If [A1] = "OK" Then
   Sheets(Array("Bl", "Gr", "GRo")).Delete
   Application.Dialogs(xlDialogSendMail).Show _
   arg1:=Range("A2"), _
   arg2:=Range("A3")
End If
Application.DisplayAlerts = True
End Sub



Ron
 
Laatst bewerkt:
hoi Sjoerd

bij mij werkt het ook niet (exel2003)

ik ben benieuw of iemand een oplossing heeft

groet sylvester
 
Sjoerd,

Deze code zou het moeten doen, zie rode regels:

Code:
Sub button()
    [COLOR="red"]On Error Resume Next[/COLOR]
    Application.DisplayAlerts = False
    [COLOR="red"]On Error GoTo 0[/COLOR]
    If [A1] = "OK" Then
        Sheets(Array("Bl", "Gr", "GRo")).Delete
        Application.Dialogs(xlDialogSendMail).Show arg1:=Range("A2"), arg2:=Range("A3")
    End If
    Application.DisplayAlerts = True
End Sub

Deze informatie komt van Microsoft, zie Link

P.s.: Bij mij werkt het wel zonder de rode regels.
 
hoi allemaal
bij mij gaat het fout in:
Code:
Application.Dialogs(xlDialogSendMail).Show arg1:=Range("A2"), arg2:=Range("A3")

groet sylvester
 
@ Sylvester,

Haal de arg1 en arg2 er eens af bij jou en probeer het dan nog eens.
 
Getest met Excel 2007 / 2010 beide codes werken :thumb:
 
Superzeeuw

ook zonder argumenten gaat het fout (1004)

ik gebruik exel2003

groeten en tot morgen of zo
 
Met XL2002 SP3 geen enkel probleem.
 
@ Sylvester,

Ik heb het getest met 2003 en 2007 en werkt bij beide goed.
Ik draai onder XP met SP3.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan