Löschen von Formen und Inhalt Tetfelder
#1
Heart 
Hallo zusammen,

ich bin gerad dabei einen Reset Button für ein Arbeitsblatt zu erstellen. Ich darf in dem Blatt nicht alles löschen, sondern nur besondere Bereiche. Das läuft soweit gut. Jedoch habe ich zwei Textfelder drin, deren Inhalt ich auch gern über den Button löschen möchte. Leider finde ich zu diesem Thema keinen Beitrag auf Google.
Des Weiteren würde ich gern Formen, wie Kreise, Dreiecke, usw. auch über den Reset Button löschen wollen, jedoch besitzt dieses Arbeitsblatt zwei Grafiken (Bilder) die nicht mit gelöscht werden dürfen. Gibt es dafür eine Lösung? Alles was ich bisher probiert habe, hat mir immer alle Grafiken rausgelöscht.

Über eure Hilfe wäre ich erneut mega happy!

Grüße

Chris
Top
#2
Hi
Ohne Datei und Code zu kenne - schwierig
Aber die Formen haben doch Namen.
Ich würde es wohl über eine Schleife mit verschiedenen If-Bedingungen versuchen.
In der Art:
Code:
For each Form in Activesheet.Shapes
If Form.Name = "Name einer Form die bleiben soll, wie sie ist" Then
  'nix machen
Elseif Form.Name = "Name einer Form deren Text gelöscht werden soll" Then
  Form.Text = ""
Else
  Form.Delete
End If
Next Form

ohne Gewähr
Gruss Igel
Ich kann nicht alles wissen,
aber vieles lernen ! 19
[-] Folgende(r) 1 Nutzer sagt Danke an Igelbauer für diesen Beitrag:
  • ChrisKay86
Top
#3
Ich verstehe nicht, wieso du auf einem Tabellenblatt Textboxen benötigst. Was versprichst du dir davon? Warum nicht Zellen verwenden?
Schöne Grüße
Berni
Top
#4
Hallöchen,

ich weiß zwar auch nicht, was sich der TE von den TextBoxen verspricht, aber wir nutzen die auch.
Wir können dadurch z.B.
  • Texte unabhängig von der Zellbreite und -höhe darstellen - das kommt z.B. gut zur Vermeidung der oft verfemten verbundenen Zellen,
  • den Text mit der Box absolut frei auf dem Blatt positionieren,
  • sie statt Kommentaren als ständig sichtbare Legende oder Erklärung für Zellinhalte oder Eingaben nutzen - ist auch manchmal von Vorteil, wenn Kommentare warum auch immer nicht oder nicht
    vollständig angezeigt werden,

.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Frogger1986
Top
#5
Hi André,

das weißt du, das weiß ich, möglicherweise sogar der TE. Ich glaube aber, dass vielfach Steuerelemente "missbraucht" werden, obwohl es gar nicht notwendig ist. Ich hatte schon eine Forumsfrage, in der der TE sein komplettes Tabellenblatt mit Textboxen zugepflastert hatte. Auf meine Nachfrage, warum er nicht die Eingabe in die Zellen macht, war die Antwort: "Da hab ich wohl den Wald vor lauter Bäumen nicht gesehen". Und er hat alle Textboxen rausgeschmissen.
Schöne Grüße
Berni
Top
#6
Hallo Bernie,

ja, da fehlen uns hier noch ein paar Informationen … Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#7
Hallo,

ich hatte die Frage etwas abderst verstanden:

Wie kann der Typ vor dem Löschen abgefragt werden?

Ohne im Archiv nachzusehen, mit if typeof(shapes(i)) = msoPicture then
sollte man sehr differenziert Elemente löschen können.

mfg
Top
#8
(03.11.2018, 14:53)MisterBurns schrieb: Ich verstehe nicht, wieso du auf einem Tabellenblatt Textboxen benötigst. Was versprichst du dir davon? Warum nicht Zellen verwenden?

Es geht um genau zwei Textfelder, in denen ich unabhängig von der Zellenformatierung einfacher Kurzberichte nieder schreiben kann. Da diese Berichte immer nur auf das eine Teil zutreffen und ich nach Abschluss gern die von mir erstellte ursprüngliche Form wiederherstellen mag, muss eben auch der Inhalt von den zwei Textfelder gelöscht werden. Desweiteren muss ich auf einem Bild Formen, wie Kreise, erstellen, um zu markieren wo eventuell Mängel anliegen.
Den Code von Igel, Danke erst einmal für deine schnelle Antwort, habe ich probiert, doch funktioniert leider nicht so wie ich mir das vorgestellt habe.

Im Anhang findet ihr diesmal auch die Excel angebunden.

Ich bedanke mich sehr über freundliche Hilfe.

Beste Grüße
Chris


Angehängte Dateien
.xlsm   Bestand_Muster.xlsm (Größe: 169,04 KB / Downloads: 5)
Top
#9
Hallöchen,

kann es sein, dass da keine Formen und keine TextBoxen drin sind?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#10
Hallo Chris,

mit den richtigen Namen so:
Dim oShape As Shape
For Each oShape In ActiveSheet.Shapes
 Select Case oShape.Name
   Case "Reset", "Bike", "Picture 8"
     '  nix machen
   Case "TextBox 2", "TextBox 7"
     oShape.OLEFormat.Object.Text = ""
   Case Else
     oShape.Delete
 End Select
Next oShape
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ChrisKay86
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste