Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Userform und find-Methode

Problem mit Userform und find-Methode
10.02.2006 08:56:21
Mathias
Hallo!
Ich habe ein Userform in dem Daten aus einer Liste ausgewählt werden können, oder wenn Sie noch nicht in der Liste vorhanden sind manuell eingetragen werden können. Beim schließen der Userform wird eine Methode aufgerufen, die mittels find prüft ob neue Daten eingegeben worden und wenn ja diese in das Tabellenblatt "Antragssteller" übernimmt.
Hier erfolgt der Aufruf von "Neuer Antragssteller" vorm schließen der Userform:

Private Sub CommandButton1_Click()
Dim Name As String, Str As String, PLZ As String, Ort As String, _
Ansprechpartner As String, Telefon As String, BLZ As String, _
Kto As String, KUST As String
Name = TextBox2.Value
Str = TextBox3.Value
PLZ = TextBox4.Value
Ort = TextBox5.Value
Ansprechpartner = TextBox6.Value
Telefon = TextBox7.Value
BLZ = TextBox8.Value
Kto = TextBox9.Value
KUST = TextBox10.Value
Call EingabenUebernehmen
Call NeuerAntragssteller(Name, Str, PLZ, Ort, Ansprechpartner, Telefon, BLZ, Kto, KUST)
Unload Me
End Sub

Hier die Methode die aufgerufen wird:
Sub NeuerAntragssteller(Name As String, Str As String, _
PLZ As String, Ort As String, Ansprechpartner As String, Telefon As String, _
BLZ As String, Kto As String, KUST As String)
Dim C As Range
aRow = Sheets("Antragssteller").Range("A65536").End(xlUp).Row
If aRow > 1 Then Set C = Sheets("Antragssteller").Range("A:A").Find(What:=Name, lookat:=xlWhole)
If Not C Is Nothing Then Exit Sub
Sheets("Antragssteller").Range("A" & aRow + 1) = Name
End Sub
Ich erhalte beim Ausdruck "Set C = Sheets("Antragssteller").Range("A:A").Find(What:=Name, lookat:=xlWhole)" die Fehlermeldung:
"Die Find-Eigenschaft des Range-Objektes kann nicht zugeordnet werden"
Komischerweise funktioniert die Methode "NeuerAntragssteller" wenn ich sie von einer anderen Stelle aufrufe als aus der Userform wunschgemäß und läuft ohne Fehlermeldung durch. Nur der Aufruf aus der Userform bringt die geschilderte Fehlermeldung.
Woran kann das liegen?
Viele Dank für eure Hilfe!
Gruß
Rudi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Userform und find-Methode
10.02.2006 09:55:41
Beni
Hallo Rudi,
die Lebensdauer ist abgelaufen, im Sub NeuerAntragssteller Name = TextBox2.Value nochmals deklarieren oder Dim Name As String ausserhalb der Prozedur.
Gruss Beni
AW: Problem mit Userform und find-Methode
10.02.2006 10:11:50
Mathias
Danke für dein Antwort!
Aber daran liegt es leider nicht. Ich bekomme auch den selben Fehler, wenn ich beispielsweise
als Suchbegriff nicht die Variable sondern einen festen Wert eingebe.
z.B. so:

Sub NeuerAntragssteller(Name As String, Str As String, _
PLZ As String, Ort As String, Ansprechpartner As String, Telefon As String, _
BLZ As String, Kto As String, KUST As String)
Dim C As Range
aRow = Sheets("Antragssteller").Range("A65536").End(xlUp).Row
If aRow > 1 Then Set C = Sheets("Antragssteller").Range("A:A").Find(What:="Test", lookat:=xlWhole)
If Not C Is Nothing Then Exit Sub
Sheets("Antragssteller").Range("A" & aRow + 1) = "Test"
End Sub

Anzeige
AW: Problem mit Userform und find-Methode
10.02.2006 13:39:43
Gerd
Hi,
schon mal mit dem Argument Lookin:= probiert?
mfg Gerd
AW: Problem mit Userform und find-Methode
10.02.2006 13:54:35
Mathias
Hallo!
Hab ich gerade probiert, hilft leider auch nicht. Wie gesagt, die Methode NeuerAntragssteller funktioniert so wie sie ist ... bloß halt nicht, wenn der Aufruf aus der Userform passiert, was ich nicht nachvollziehen kann.
Gruß
Rudi
AW: Problem mit Userform und find-Methode
10.02.2006 14:16:46
Mathias
Ah ... ich hab gerade was entdeckt:

Sub NeuerAntragssteller(Name As String, Str As String, _
PLZ As String, Ort As String, Ansprechpartner As String, Telefon As String, _
BLZ As String, Kto As String, KUST As String)
Dim C As Range
aRow = Sheets("Antragssteller").Range("A65536").End(xlUp).Row
If aRow > 1 Then Set C = Sheets("Antragssteller").Range("A:A").Find(What:=Name, LookIn:=xlValues)
If Not C Is Nothing Then Exit Sub
Sheets("Antragssteller").Range("A" & aRow + 1) = Name
End Sub

Die find Methode funktioniert hier nur, wenn das Sheet Antragssteller aktiviert ist. Dann kommt keine Fehlermeldung. Wie kann ich das ganze trotzdem nutzen, ohne unelegant vorher das Sheet aktivieren zu müssen?
Bin für jeden Tip dankbar!
Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige