Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1880to1884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Fehler beim Kompilieren
20.04.2022 18:50:43
Albert
Hallo liebes Forum,
ich habe ein Makro (siehe unten) bei dem ich folgende Fehlermeldung bei der Codeposition

If rngStart = "" Then MsgBox("Zelle wurde nicht ausgewählt. Das Makro wird beendet", vbOKCancel, "Makro wird beendet") = vbCancel
bekomme.
Fehler beim Kompilieren:
Funktionsaufruf auf der linken Seite der Zuweisung muss Variant oder Object zurückgeben
Da ich VBA Anfänger bin und dieses Problem mit der Hilfe auch nicht lösen konnte, bitte ich euch um Hilfe.
Danke!
Bert

Sub Kontakt_DS_Kopieren()
Dim rngStart As Range
Dim rngZiel As Range
' Makrofehler ignoreren und autom. mit nächstem Makroschritt fortfahren
' od. z.B.: Bei Abbrechen der InputBox für die Zellauswahl (siehe weiter unten) durch drücken des Button "Abbrechen" wird das Makro beendet
On Error Resume Next
' Makros im VBA-Editor Tabelle1 (Kunde) nicht durchlaufen
Application.EnableEvents = False
' Auswahlbox für: Zelle in gewünschter Kopierzeile auswählen
Set rngStart = Application.InputBox("Irgend eine Zelle in der gewünschten Kopierzeile auswählen", "Zellauswahl", , Type:=8)
' Wenn in die Input Box nichts eingegeben wird --> Wert = "" dann wird das Makro beendet.
If rngStart = "" Then MsgBox("Zelle wurde nicht ausgewählt. Das Makro wird beendet.", vbOKCancel, "Makro wird beendet") = vbCancel
' Wenn die Input Box mit der Schaltfläche "Abbrechen" --> Wert = "Falsch" abgebrochen wird, dann wird das Makro beendet.
If rngStart = "Falsch" Then Exit Sub
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim Kompilieren
20.04.2022 19:32:54
Yal
Hallo Albert,
eine nicht initialisierte Range weist auf "Nothing" und wird nicht mit "=" abgelichen, sondern mit "is"

If rngStart Is Nothing Then ...
Wenn deine MsgBox eine Wert zurückliefert, die getestet werden soll, dann separat:

If rngStart Is Nothing Then
If MsgBox("Zelle wurde nicht ausgewählt. Das Makro wird beendet.", vbOKCancel, "Makro wird beendet")  vbCancel Then Exit Sub
End If
Wenn Du irgendwo einen "Application.EnableEvents = False" setzt, musst Du am Ende "Application.EnableEvents = True" zurücksetzen.
Und besser wäre es als Frage zu stellen:

Sub Kontakt_DS_Kopieren()
Dim rngStart As Range
On Error Resume Next
Application.EnableEvents = False
Auswaehlen:
Set rngStart = Application.InputBox("Irgend eine Zelle in der gewünschten Kopierzeile auswählen", "Zellauswahl", , Type:=8)
If rngStart Is Nothing Then
If MsgBox("Zelle wurde nicht ausgewählt. Makro beenden?", vbYesNo, "Exit?") = vbNo Then GoTo Auswaehlen
Else
MsgBox "Ausgewählt: " & rngStart.Address
End If
Application.EnableEvents = True
End Sub
VG
Yal
Anzeige
AW: Fehler beim Kompilieren
20.04.2022 19:57:16
Albert
Danke Yal für die schnelle Hilfe!
LG
Bert

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige