Herbers Excel-Forum - das Archiv
Variablen-namen,Laufzeitfehler 1004
Informationen und Beispiele zu den hier genannten Dialog-Elementen:

|
Betrifft: Variablen-namen,Laufzeitfehler 1004
von: Peppi
Geschrieben am: 07.10.2003 14:38:36
Hallo,
ich frage über eine Inputbox einen Text ab, anch dem eine Arbeitsmappe durchsucht werden soll. Wenn eine Übereinstimmung gefunden wurde, soll ein Arbeitblatt erstellt werden, welches den gleichen Namen wie der suchbegrifft hat. Dann soll gefragt werden, ob weiter gesucht werden soll. Bis zur Ersellung des Arbeitsblattes läuft es auch, nur dann bekomme ich die Fehler meldung:
Laufzeitfehler 1004
Kann einem Blatt nicht den Gleichen Namen geben wie einem anderen Blatt, einer Objektbibliothek oder einer Arbeitsmnappe, auf die Visual Basic bezug nimmt.
Den Quelltext, wie ich ihn bisher habe, habe ich unten mal angehängt. Würde mich freuen, wenn jemand Rat weiß.
Vielen Dank, Gruß
Peppi
Private Sub Suche(strSuchtext As String)
Dim SuchKatalogblattName As String
Dim objBlatt As Worksheet
Dim objSuchKatalogblatt As Worksheet
Dim objZelle As Range
Dim objZeile As Range
Dim strErsteFundstelle As String
Dim intButton As Integer
Dim objForm As UserForm
Dim strSuchtext2 As String
'wir kommen hier von der Public Sub Suchen() aus hin
'Prüfen, ob SuchKatalogblatt bereits existiert
Set objSuchKatalogblatt = GetWorksheet(strSuchtext)
'Wenn SuchKatalogblatt nicht existiert, dann...
'If 1
If objSuchKatalogblatt Is Nothing Then
'Alle Blätter durchlaufen
For Each objBlatt In ActiveWorkbook.Worksheets
'Verwendeten Bereich jedes Blatts durchsuchen
With objBlatt.UsedRange
'Suchfunktion aufrufen
Set objZelle = .Find(What:=strSuchtext, LookIn:=xlValues)
'Wenn erster Treffer, dann...
'If 2
If Not objZelle Is Nothing Then
'... Fundstelle merken
strErsteFundstelle = objBlatt.Name & "!" & objZelle.Address
'Neues Katalogblatt anlegen
Set objSuchKatalogblatt = Worksheets.Add(After:=Worksheets(Worksheets.Count))
'Suchtext bildet Namen des SuchKatalogblattes
objSuchKatalogblatt.Name = strSuchtext
Do
'Blatt mit Fundstelle aktivieren
objBlatt.Activate
'Fundstelle markieren
objZelle.Select
'Anwender fragen, ob Suche fortgesetzt werden soll
intButton = MsgBox("Weiter suchen?", vbQuestion + vbYesNo, APP_NAME)
'Wenn Antwort nicht 'Ja' lautet, dann...
'If 010
If intButton <> vbYes Then
'Fragen, ob das Suchkatalogblatt geöffnet werden soll
intButton = MsgBox("Das Suchkatalogblatt öffnen?22", vbQuestion + vbYesNo, APP_NAME)
'Wenn die Antwort nicht 'Ja' lautet, dann...
'If 016
If intButton <> vbYes Then
'Infofenster mit "Suche beendet!" öffnen und...
MsgBox "Suche beendet3!", vbInformation, APP_NAME
'...Makro beenden
Exit Sub
'If 016
Else
'Suchkatalogblatt aktivieren
objSuchKatalogblatt.Activate
'Makro beenden
Exit Sub
'If 010
End If
'If 016
End If
'Nach nächstem Vorkommen suchen
Set objZelle = .FindNext(objZelle)
'Schleife wiederholen solange weitere Fundstellen auftauchen und erste Fundstelle noch nicht erreicht
Loop While Not objZelle Is Nothing And objBlatt.Name & "!" & objZelle.Address <> strErsteFundstelle
'If 2
End If
End With
Next
MsgBox "Keine weiteren Fundstellen.", vbInformation, APP_NAME
'Fragen, ob das Suchkatalogblatt geöffnet werden soll
intButton = MsgBox("Das Suchkatalogblatt öffnen?33", vbQuestion + vbYesNo, APP_NAME)
'Wenn die Antwort nicht 'Ja' lautet, dann...
'If 015
If intButton <> vbYes Then
'Infofenster mit "Suche beendet!" öffnen und...
MsgBox "Suche beendet3!", vbInformation, APP_NAME
'...Makro beenden
Exit Sub
'If 015
Else
'Suchkatalogblatt aktivieren
objSuchKatalogblatt.Activate
Exit Sub
'If 015
End If
'If 1
End If
End Sub

 |
Betrifft: AW: Variablen-namen,Laufzeitfehler 1004
von: OliveR
Geschrieben am: 11.10.2003 01:53:29
Hallo Peppi,
könnte es sein, dass das Macro folgendes versucht?
1. Es findet einen Eintrag
2. Es legt einen neuen Sheet an
3. Es sucht dann weiter
4. Es versucht einen neuen Sheet anzulegen (aber mit dem selben Namen wie in 2.)
5. bricht ab
Denke es wäre einfacher, den Fehler zu finden, wenn man den Excelfile hätte.
Gruß
OliveR
Betrifft: AW: Variablen-namen,Laufzeitfehler 1004
von: Peppi
Geschrieben am: 11.10.2003 16:54:56
Hallo,
vielen Dank erst mal. Ist schon richtig wie du vermutet hast. Ich habe es jetzt bereits anders gelöst. Habe ein paar andere Dinge anders gelöst, als ich erst angedacht hatte und dadurch hat sich dieses Problem erstmal erübrigt.
Trotzdem vielen Dank.
Gruß
Sven