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

was stimmt nicht an meinem code?

was stimmt nicht an meinem code?
27.07.2004 10:46:20
joe
hallo,
ich komme leider nicht darauf, warum mir der compiler bei folgendem code immer einen fehler ("typen unverträglich") ausschmeißt.

Sub module_loeschen()
' diese funktion wird von dem button "Module loeschen" in der tabelle
' Zeichnung aufgerufen, um die markierten module zu loeschen
' damit aber nichts falsches gelöscht wird, muss überprüft werden, ob
' es sich auch wirklich um rechtecke handelt
// diese drei zeilen sind wunschdenken
'If (Selection.Type = msoShapeRectangle) Then
'Selection.Delete
'End If
Dim myShape As Shape
For Each myShape In Tabelle23.Shapes
If (myShape.Type = msoShapeRectangle) Then
If (myShape.Select) Then
Selection.Delete
End If
End If
Next
End 

Sub
vielen dank im voraus
joe richter

		

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

Betreff
Datum
Anwender
Anzeige
AW: was stimmt nicht an meinem code?
GerdZ
Hallo joe,
die Zeile
If (myShape.Select) Then
ist falsch.
.Select ist die Anweisung ein Objekt auszuwählen.
IF braucht einen Wahrheitswert. Bei True, wird der Teil nach THEN ausgeführt, bei FALSE der Teil nach ELSE.
Gruß
Gerd
AW: was stimmt nicht an meinem code?
Nike
Hi,
so?

Sub module_loeschen()
Dim myShape As Shape
For Each myShape In Tabelle23.Shapes
If myShape.Type = msoShapeRectangle Then
If myShape.Selected Then
myShape.Delete
End If
End If
Next
End Sub

Bye
Nike
leider immer noch eine fehlermeldung
27.07.2004 11:16:54
joe
hallo,
erst mal danke für eure antworten, das ging ja rasend schnell - leider ist das problem noch nicht gelöst:
@ gerd: auch die zuweisung von true oder false hat die gleiche fehlermeldung gebracht
@ nike: da kommt neue fehlermeldung: selected wird nicht vom objekt myShape unterstützt
vielleicht habe ich auch einen denkfehler und es gibt einen ganz anderen weg um mein problem zu lösen.
also nochmals in der hoffnung auf hilfe bedanke ich mich schon im voraus
joe
Anzeige
AW: leider immer noch eine fehlermeldung
GerdZ
Hallo joe,
folgender Code funzt im Prinzip. Du mußt evtl. noch den Bezug zum Tabellenblatt anpassen:
Sub module_loeschen()
Dim myShape As Object
Select Case TypeName(Selection)
Case "DrawingObjects"
For Each myShape In Selection
If (ActiveSheet.Shapes(myShape.Name).AutoShapeType = msoShapeRectangle) Then
ActiveSheet.Shapes(myShape.Name).Delete
End If
Next
Case "Rectangle"
If (ActiveSheet.Shapes(Selection.Name).AutoShapeType = msoShapeRectangle) Then
Selection.Delete
End If
Case Else
MsgBox "keine Autoform ausgewählt"
End Select
End Sub
Gruß
Gerd
Anzeige
DANKE Gerd
joe
hallo gerd,
vielen dank für diese PERFEKTE lösung
ciao joe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige