Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen

Prozedur löschen

Betrifft: Prozedur löschen von: elian
Geschrieben am: 13.09.2004 20:23:59

Hallo !

Ich habe per addshape ein Button generieren lassen, dieser bekommt automatisch einen Verweis zu einer Prozedur.

Desweiteren gibt es eine Speichern Prozedur, die das aktuelle Arbeitsblatt speichert. Genau hier liegt das Problem.
Der o.g. Button wird in diesem Arbeitsblatt angezeigt, soll aber nicht mit gespeichert werden.

Wollte versuchen die Prozedur, die den Button erzeugt vor dem Speichern löschen, hat aber nicht funktioniert.

Die u.g. Prozedur soll mehr oder weniger vor dem Speichern aus dem Blatt gelöscht werden, aber nach dem Speichervorgang wieder existieren, damit sie nur in der neuen Datei nicht existiert.

Sub zbutton()
Dim document As Object
Dim zaehler As String
Set document = Worksheets(1)
document.Shapes.AddShape(msoShapeActionButtonCustom, 550, 10, 110, 23) _
.TextFrame.Characters.Text = "zurück zur Eingabe"
zaehler = Tabelle1.Shapes.Count
document.Shapes("AutoShape" & " " & zaehler).OnAction = "buttoneingabe"
End Sub


Danke !

Gruß
elian

P.S.: Bin totaler Anfänger, erst seit letzter Woche mit VBA beschäftigt.
  


Betrifft: AW: Prozedur löschen von: Ramses
Geschrieben am: 13.09.2004 21:03:05

Hallo

erstelle das Makro so in einem Modul

Option Explicit
Global myButton As Object

Sub zbutton()
Dim document As Object
Dim zaehler As Integer
Set document = Worksheets(1)
zaehler = Tabelle1.Shapes.Count
Set myButton = document.Shapes.AddShape(msoShapeActionButtonCustom, 550, 10, 110, 23)
With myButton
.Name = "btnEingabe"
.TextFrame.Characters.Text = "zurück zur Eingabe"
.OnAction = "buttoneingabe"
End With
End Sub

Sub Test_Delete()
myButton.Delete
End Sub


Die Anweisung

myButton.Delete

kannst du auch in das "Workbook_BeforeSave" Ereignis einbauen:

Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Entfernen des Buttons
myButton.Delete
'Speichern unter anderem Namen
ThisWorkbook.SaveCopyAs "c:\To_Delete2.xls"
'eigentlichen Speichervorgang abbrechen
Cancel = True
'Neues einbauen des Buttons
Call zbutton
End Sub


Gruss Rainer


  


Betrifft: AW: Prozedur löschen von: elian
Geschrieben am: 14.09.2004 18:56:50

Hallo Rainer !

Erst mal vielen Dank für die Hilfe !!

Habs erst mal ohne die before save prozedur versucht, aber ich bekomme immer die Fehlermeldung 1004 - Anwendungs- objektdefinierter Fehler, wenn die Prozedur mit dem Befehl mybutton.delete aufgerufen wird. Sprich die Fehlermeldung bezieht sich auf die mybutton.delete Anweisung.

Gruß
elian


 

Beiträge aus den Excel-Beispielen zum Thema "Prozedur löschen"