Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
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

@Ole - Dienstplanung verfeinern

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

Betreff
Datum
Anwender
Anzeige
AW: @Ole - Dienstplanung verfeinern
18.11.2020 19:03:01
Ole
Hallo Franz,
also das sieht verdammt mächtig aus. Danke dir dafür.
Wenn ich das UF_Aktuell starten möchte, kommt dieser Fehler
"dieser schlüssel ist bereits einem Element dieser Auflistung zugeordnet"
markiert wird:
objColNamen.Add Item:=.Cells(lZeile + 1, 3).Text & "|" & .Cells(lZeile, 3).Text, _
Key:=.Cells(lZeile + 1, 3).Text & "|" & .Cells(lZeile, 3).Text
Hoffe du kannst mir da weiter helfen. Habe zwar per Google versucht das Problem einzugrenzen, aber den größten Teil des Codes verstehe ich noch nicht.
Grüße,
Ole
Anzeige
AW: @Ole - Dienstplanung verfeinern
18.11.2020 23:48:01
fcs
Hallo Ole,
der Fehler Tritt bei mir in der Beispiel-Datei nicht auf. Da ist es natürlich schwierig Hilfe zu leisten.
In dem Abschnitt des Makros, der zur Fehler-Meldung führt, werden Name und Anrede getrennt durch das Zeichen "|" in einer sogenannten Collection gesammelt - hier Variable objColNamen.
Mit dem Parameter "Key" wird sichergestellt, dass jeder Name nur einmal zur Collection hinzugeführt werden kann.
Bei dem Versuch einen Namen ein weiteres mal hinzuzufügen wird der von dir beschriebene Fehler ausgelöst. Er hat die Nummer 457.
Ich habe deshalb eine Fehlerbehandlung eingebaut, sodass das Makro bei Fehler in der nächsten Zeile fortgesetzt wird. Hier die entsprechenden Abschnitte des Initialisierungsmakros mit zusätzlichen Kommentaren.
Private Sub UserForm_Initialize()
Dim lZeile As Long
Dim iObjekt As Integer
Dim Anzahl_MA As Integer, AnzahlNamen As Integer
Dim strTemp As String
Dim arrObjekte, strObjekt As String, arrFunktionen
Dim objColNamen As New Collection, arrNamen()
Dim spaMA As Long, spaTab As Long
Dim dat01 As Date
On Error GoTo Fehler       'Mit dieser Zeile wird festgelegt an welcher Sprungadresse _
das Makro bei einem Fehler fortgesetzt werden soll.
Set wksAktuell = ThisWorkbook.Worksheets("Aktuell")
Fehler:  'Sprungadresse - Beginn der Fehlerbehandlung
With Err
Select Case .Number
Case 0   'Alles OK, Fehlerbehandlung wurde ohne Fehler erreicht - Makro wird beendet.
Case 457 'Mehrfacheintrag in Liste
Resume Next  'Fehler-Nr. wird zurückgesetzt und Makro wird in der Zeile nach dem Fehler  _
fortgesetzt
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Ich hab jetzt keine Ahnung, warum es jetzt bei dir die Anzeige nicht rund läuft.
Die Tatsache, dass das Makro in der Zeile stoppt, in der der Fehler auftritt, ist eigentlich _ ein Zeichen, dass die Zeile

On Error Goto Fehler 
fehlt.
Kannst du deine aktuelle Datei hier nochmals hochladen?
Alternativ schicke sie an die in meinem Profil angegeben E-Mail-Adresse, falls vertrauliche daten enthalten sein sollten. Zum Profil gelangst du über das kleine Symbol links neben meinen Antworten oder über das Menü "Forum & Services".
LG
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige