Auswahl in Userform
07.02.2004 00:07:44
Michael Rapp
habe gestern mit eurer Hilfe eine Userform zusammengebastelt. Folgender Code beschreibt die Funktionalität:
Private Sub UserForm_Initialize()
Call WriteNewList
End Sub
Private Sub WriteNewList()
Dim i As Integer
ShapeList.Clear
For i = 1 To ActiveSheet.Shapes.Count
ShapeList.AddItem ActiveSheet.Shapes(i).name
Next i
End Sub
Private Sub ShapeList_Click()
ActiveSheet.Shapes.Item(ShapeList.Text).Select
End Sub
Private Sub DeleteButton_Click()
Selection.Delete
Call WriteNewList
End Sub
Private Sub BackButton_Click()
Selection.ShapeRange.ZOrder msoSendToBack
End Sub
Das Makro WriteNewList schreibt alle Shapes in das Listenfeld "ShapeList". Beim Entfernen eines Shapes mit dem Makro DeleteButton_Click wird eine neue Liste geschrieben. Das funktioniert alles Klasse.
Das Problem besteht darin, dass ich nicht erkennen kann, ob tatsächlich eine Shape ausgewählt ist. Wenn nicht, läuft die ganze Userform in einen Fehler, aus dem der normale Benutzer nicht mehr rauskommt, da die Form Showmodal=false ist.
Das Problem erscheint auch dann, wenn man auf ein anderes Blatt wechselt; dann solte die Liste automatisch erneuert werden. Einzige Lösung bisher ist für mich, überall mit "On error resume next" zu arbeiten - das ist wohl nicht sehr elegant.
Danke für Eure Hilfe
Michael