Anzeige
Archiv - Navigation
1380to1384
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
Inhaltsverzeichnis

nicht vorhandenen Wert suchen erzeugt Laufzeitfehl

nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
10.09.2014 13:12:35
kreiseltaucher
Hallo Zusammen
ich brauche mal wieder eure Hilfe. Mit unten stehendem Makro suche ich einen Wert in dem Exel Blatt "Bestand". Der Wert wird im Blatt "Aufträge Umsätze eingeben" "B23" eingegeben. Wenn der gesuchte Wert vorhanden ist, ist alles prima und das Makro läuft durch. Wenn der Wert nicht gefunden wird, wird Laufzeitfehler 9 erzeugt. Wie kann ich den Laufzeitfehler verhindern ?
Gruss Peter

Sub Auftrag_abrechnen()
Dim Suchbegriff As String
Dim Dropdown As String
Dim Namenspalte As String
Zeile = 0
Stammdatensheet = "Bestand"
Bearbeitungssheet = "Aufträge Umsätze eingeben"
Dropdown = "B23"
Namenspalte = "F:F"
Suchbegriff = ThisWorkbook.Sheets(Bearbeitungssheet).Range(Dropdown).Value  'Holt den ausgewä _
hlten Wert aus dem Dropdownfeld
If IsNumeric(Suchbegriff) Then
Zeile = WorksheetFunction.Match(--Suchbegriff, Sheets(Stammdatensheet).Range(Namenspalte),  _
0) 'Ermittelt die Zeile, wo der Name steht
Else
Zeile = WorksheetFunction.Match(Suchbegriff, Sheets(Stammdatensheet).Range(Namenspalte), 0)  _
'Ermittelt die Zeile, wo der Name steht
End If
Call Zeileholen_für_Abrechnung
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
10.09.2014 13:15:06
Hajo_Zi
if Zeile 0Then
Zeileholen_für_Abrechnung
End if

AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
10.09.2014 13:20:12
Rudi
Hallo,
Option Explicit
Public Zeile As Variant
Sub Auftrag_abrechnen()
Dim Suchbegriff As String
Dim Dropdown As String
Dim Namenspalte As String
Zeile = 0
Stammdatensheet = "Bestand"
Bearbeitungssheet = "Aufträge Umsätze eingeben"
Dropdown = "B23"
Namenspalte = "F:F"
Suchbegriff = ThisWorkbook.Sheets(Bearbeitungssheet).Range(Dropdown).Value  'Holt den ausgewä  _
_
hlten Wert aus dem Dropdownfeld
If IsNumeric(Suchbegriff) Then
Zeile = Application.Match(--Suchbegriff, Sheets(Stammdatensheet).Range(Namenspalte), 0)    _
'Ermittelt die Zeile, wo der Name steht
Else
Zeile = Application.Match(Suchbegriff, Sheets(Stammdatensheet).Range(Namenspalte), 0)   ' _
Ermittelt die Zeile, wo der Name steht
End If
If Not IsError(Zeile) Then
Call Zeileholen_für_Abrechnung
End If
End Sub

Gruß
Rudi

Anzeige
AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
10.09.2014 13:37:43
Daniel
Hi
wenn man MATCH oder auch VLOOPUP mit der option "genaue Übereinstimmung in unsortierten Daten" (letzer Parameter = 0) verwendet, dann ist es günstiger, die .FIND-Funktion stattdessen zu verwenden:
dim Zeile as Long
dim Zelle as Range
Set Zelle = Zeile = Sheets(Stammdatensheet).Range(Namenspalte).Find(what:=Suchbegriff, LookAt=  _
_
xlwhole, LookIn:=xlvalues)
If Zelle is Nothing then
Msgbox "Begriff nicht vorhanden"
Else
Zeile = Zelle.Row - Range(Namensspalte).Row + 1
End If 

oder man verwendet Application.Match, welches bei einem Fehler nicht abbricht, wenn die _ aufnehmende Variable vom Typ "Variant" ist:

dim Zeile as Variant
Zeile = Application.Match(Suchbegriff, Sheets(Stammdatensheet).Range(Namenspalte), 0)
If VarType(Zeile) = vbError Then
Msgbox "nicht gefunden"
end if

Gruß Daniel

Anzeige
AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
10.09.2014 20:00:23
kreiseltaucher
Hallo Zusammen
erst einmal herzlichen Dank für eure Antworten. Ich eure Vorschläge morgen mal ausprobieren, melde mich dann wieder
Gruss Peter

AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
11.09.2014 12:07:27
kreiseltaucher
Also ich hab jetzt mal alles ausprobiert, leider funktioniert keiner eurer Vorschläge. Es kommt immer entweder Laufzeitfehler oder Fehler beim Kompilieren. Unten mal ein Beispiel
Fehler beim Kompilieren Variablen nicht definiert
Namensspalte ist markiert ( siehe FETT KURSIV )
Sub Auftrag_abrechnen()
Dim Suchbegriff As String
Dim Dropdown As String
Dim Namenspalte As String
Dim Zeile As Long
Dim Zelle As Range
Zeile = 0
Stammdatensheet = "Bestand"
Bearbeitungssheet = "Aufträge Umsätze eingeben"
Dropdown = "B23"
Namenspalte = "F:F"
Set Zelle = Zeile = Sheets(Stammdatensheet).Range(Namenspalte).Find(what:=Suchbegriff, LookAt:= _
xlWhole, LookIn:=xlValues)
If Zelle Is Nothing Then
MsgBox "Begriff nicht vorhanden"
Else
Zeile = Zelle.Row - Range(Namensspalte).Row + 1
End If
Call Zeileholen_für_Abrechnung
End Sub

Anzeige
AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
11.09.2014 13:10:48
Daniel
Hi
schreib einfach nur:
Set Zelle = Sheets(Stammdatensheet....
die "Namensspalte" wird dir angemeckert, weil du sie nicht deklariert hast.
Deklariert hast eine ganz andere Variable nämlich die "Namenspalte"
ich stell beide Begriffe nochmal direkt untereinander, dann sollte dir der unterschied auffallen:
Namensspalte
Namenspalte
Gruß Daniel

AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
12.09.2014 10:46:39
kreiseltaucher
Oh man bin ich blind .... Danke
aber es läuft trotzdem nicht, jetzt kommt Laufzeitfehler 424 und die Zeile "Set Zelle" ist gelb markiert
Gruss Peter

Anzeige
AW: nicht vorhandenen Wert suchen erzeugt Laufzeitfehl
12.09.2014 10:59:36
Daniel
Hi
hast du alle Korreturen, die ich in meinem Beitrag beschrieben habe ausgeführt?
da war nicht nur das mit der Variablen
gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige