Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Chris,
(20.03.2017, 15:47)chris-ka schrieb: hier mal für Formular und einer für Steuerelemente
oder wenn ohnehin alle gelöscht werden sollen
Danke, nun hat es geklappt.
Ich mußte aber vorher die Buttons neu anlegen aus den Formularsteuerelementen.
Weder mit dem Formular-, noch mit dem CommanButton-Code hat es mit den bisherigen Buttons geklappt.
Registriert seit: 29.09.2015
Version(en): 2030,5
Dann zeig mal bitte deine ursprüngliche Datei...
Registriert seit: 10.04.2014
Version(en): 2016 + 365
21.03.2017, 12:13
(Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2017, 10:59 von Rabe.)
Hi,
(20.03.2017, 17:28)snb schrieb: Dann zeig mal bitte deine ursprüngliche Datei...
hier ist die abgespeckte Version. Ich hoffe, sie ist in der Hinsicht noch funktionsfähig und der Fehler tritt auf.
Neues File siehe unten!
Im Ablage-Pfad muß es einen Ordner Anfrage geben.
Registriert seit: 29.09.2015
Version(en): 2030,5
Code: Sub M_snb()
For Each it In Tabelle7.Shapes
If it.Type = 13 Then it.Delete
Next
End Sub
PS. Verzichte auf 'merged cells'
Registriert seit: 10.04.2014
Version(en): 2016 + 365
21.03.2017, 15:15
(Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2017, 15:15 von Rabe.)
Hi,
(21.03.2017, 14:47)snb schrieb: Code: Sub M_snb()
For Each it In Tabelle7.Shapes
If it.Type = 13 Then it.Delete
Next
End Sub
PS. Verzichte auf 'merged cells'
mit dem Code werden auch eingefügte Bilder gelöscht, siehe schon im ersten Beitrag. Mit dem Shapes-Code dort klappt es ja, aber Bilder sind weg.
Ich brauche verbundene Zellen, weil dieses Blatt sowohl zur Eingabe als auch der Darstellung dient und in die paar großen Zellen dann größere Texte reinkommen sollen, ohne daß das an den Bildschirm angepasste Layout verändert wird.
Registriert seit: 29.09.2015
Version(en): 2030,5
Dann mal so:
Code: Sub M_snb()
Tabelle7.Shapes.SelectAll
Selection.Ungroup
For Each it In Tabelle7.Shapes
If Left(it.Name, 7) = "Command" Then it.Delete
Next
End Sub
Statt merged cells verwende
Horizontal / center across selection
Registriert seit: 10.04.2014
Version(en): 2016 + 365
22.03.2017, 10:58
(Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2017, 11:47 von Rabe.)
Hi,
(21.03.2017, 19:02)snb schrieb: Dann mal so:
[...]
Horizontal / center across selection
ja, so geht es auch. So löscht es aber die Buttons im Originalfile und nicht in der abzuspeichernden Kopie.
Und wenn ich jetzt noch ein Textfeld löschen möchte, das auf dem Blatt rumliegt, wie geht das?
neue Datei siehe unten
Kann ich in den "horizontal über Auswahl zentrierten" Feldern die Daten auch links ausrichten, und trotzdem alle 3 Zellen zur Anzeige zur Verfügung haben?
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Ralf,
wenn es immer die gleichen Shapes oder Objekte sind, warum löschst Du sie nicht so, in dem Du sie mit ihren Bezeichnungen ansprichst. Die Name sind im Namensfeld zu sehen, wenn die Objekte ausgewählt sind.
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Rabe
Registriert seit: 10.04.2014
Version(en): 2016 + 365
22.03.2017, 11:40
(Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2017, 11:48 von Rabe.)
Hi,
(22.03.2017, 10:59)atilla schrieb: wenn es immer die gleichen Shapes oder Objekte sind, warum löschst Du sie nicht so, in dem Du sie mit ihren Bezeichnungen ansprichst. Die Name sind im Namensfeld zu sehen, wenn die Objekte ausgewählt sind.
direkt löschen hat geklappt, wie auch die Lösung von chris-ka mit dem "Worksheets("Eingabe_ELC").Buttons.Delete"
Ich wollte nur snb-s Version ebenfalls zum Laufen bringen, gebe es jetzt aber auf, weil ich nicht die Shapes in der Kopie-Datei ansprechen kann.
Code: Sub Daten_Export()
ActiveSheet.Unprotect Passwort
Application.ScreenUpdating = False
Application.EnableEvents = False
strPfadDatei = ThisWorkbook.Path & "\" & ThisWorkbook.Name 'sichern Original-Pfad und Name
Sheets("Eingabe_ELC").Range("K1") = VBA.Environ("Username")
Sheets("Eingabe_ELC").Range("K2") = Date
Sheets("Eingabe_ELC").Copy
With ActiveWorkbook
'.PrintOut
'Definition des Datei-/Blattnamens, Pfad anpassen!
strPfadDateiExport = ThisWorkbook.Path & "\Anfrage\" & Format(Date, "yyyy-mm-dd") & " - " & Sheets("Eingabe_ELC").Range("E7")
' Call Shape_Buttons_Löschen 'es werden die Buttons der Originalseite gelöscht
.Sheets("Eingabe_ELC").Shapes("CommandButton1").Delete
.Sheets("Eingabe_ELC").Shapes("CommandButton2").Delete
.Sheets("Eingabe_ELC").Shapes("CommandButton3").Delete
.Sheets("Eingabe_ELC").Shapes("Label1").Delete
Application.DisplayAlerts = False
'aktuelle Daten als extra Datei abspeichern, Pfad anpassen!
AWS = strPfadDateiExport & " - Daten.xlsx" '.FullName
.SaveAs AWS, 51
.Close
End With
'...
Code: Sub Shape_Buttons_Löschen() 'es werden die Buttons der Originalseite gelöscht
'(C) snb
Dim it As Shape
Tabelle7.Shapes.SelectAll
'Selection.Ungroup 'hier kommt Fehlermeldung
For Each it In Tabelle7.Shapes
If Left(it.Name, 7) = "Command" Then it.Delete
Next
End Sub
Technische Daten_ELC - 2017-03-22.xlsb (Größe: 100,33 KB / Downloads: 2)
Registriert seit: 29.09.2015
Version(en): 2030,5
Alle 3 Zellen sind völlig zur Verfügung.
Links ausrichten ist dafür nicht nötig.
'Links ausrichten' und "horizontal über Auswahl zentrieren" sind widersprüchlich.
|