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

Ereignis: Blatt löschen

Ereignis: Blatt löschen
19.11.2005 16:29:16
flyingsunbird
Hallo
Ich möchte in eine Mappe viele neue Blätter erstellen.
Auf einem Blatt "Übersicht" stehen dann alle Blattnamen
untereinander als Hyperlinks (!!). nun möchte ich,
dass beim löschen eines Blattes die betreffende Zeile
von diesem Blatt ("Übersicht") gelöscht wird.
Gibt es ein Ereignis "OnSheetDelete" o.ä.
Oder wie kann ich soetwas selbst erstellen?
Gruss Katharina

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ereignis: Blatt löschen
19.11.2005 16:39:02
Nepumuk
Hallo Katharina,
hatten wir das nicht schon?
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private intSheetCount As Integer

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    intSheetCount = ThisWorkbook.Sheets.Count
End Sub

Private Sub Workbook_Open()
    intSheetCount = ThisWorkbook.Sheets.Count
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If intSheetCount <> ThisWorkbook.Sheets.Count Then _
        MsgBox "Sheet deleted"
End Sub

Gruß
Nepumuk

Anzeige
AW: Ereignis: Blatt löschen
19.11.2005 16:49:56
Leo
Hi,
etwas kürzer:
Option Explicit
Dim intSheetsCount As Integer

Private Sub Workbook_NewSheet(ByVal Sh As Object)
intSheetsCount = Me.Sheets.Count
End Sub


Private Sub Workbook_Open()
intSheetsCount = Me.Sheets.Count
End Sub


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If intSheetsCount <> Me.Sheets.Count Then MsgBox "Blatt gelöscht!"
End Sub

mfg Leo
AW: Ereignis: Blatt löschen
19.11.2005 16:57:53
Nepumuk
Hi Leo,
immerhin 30 Zeichen gespart   
Gruß
Nepumuk

Anzeige
Ereignis: Blatt löschen
19.11.2005 18:14:50
flyingsunbird
Hi, danke für die schnelle Antwort...
Allerdings muss ich natürlich wissen
welches Blatt gelöscht wurde (Name)
Gruss Katharina
AW: Ereignis: Blatt löschen
19.11.2005 18:23:09
Leo
Hi,
darf ich mal raten? Als nächstes kommt dann die Frage, wie die Hyperlinks automatisch erzeugt und gelöscht werden.
mfg Leo
AW: Ereignis: Blatt löschen
19.11.2005 19:00:30
Nepumuk
Hallo Katharina,
das geht so:
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private vntSheetArray() As Variant

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Call prcInitialize_SheetArray
End Sub

Private Sub Workbook_Open()
    Call prcInitialize_SheetArray
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim intIndex1 As Integer, intIndex2 As Integer
    Dim blnFound As Boolean
    Dim vntOldSheetArray() As Variant
    If Me.Sheets.Count <> UBound(vntSheetArray) Then
        vntOldSheetArray = vntSheetArray
        Call prcInitialize_SheetArray
        For intIndex1 = 1 To UBound(vntOldSheetArray)
            blnFound = False
            For intIndex2 = 1 To UBound(vntSheetArray)
                If vntSheetArray(intIndex2) = vntOldSheetArray(intIndex1) _
                    Then blnFound = True: Exit For
            Next
            If Not blnFound Then MsgBox "Sheet ''" & vntOldSheetArray(intIndex1) & _
                "'' gelöscht", 64, "Information"
        Next
    End If
End Sub

Private Sub prcInitialize_SheetArray()
    Dim intIndex As Integer
    Redim vntSheetArray(1 To Me.Sheets.Count)
    For intIndex = 1 To Me.Sheets.Count
        vntSheetArray(intIndex) = Me.Sheets(intIndex).Name
    Next
End Sub

Gruß
Nepumuk
P.S. Den Part mit den Hyperlinks darf Leo übernehmen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige