4.6k Aufrufe
Gefragt in Tabellenkalkulation von ponscho Mitglied (323 Punkte)
Hallo an alle Forumsmitglieder!

Habe die Suche schon benutz aber nichts gefunden.

Ich bräuchte ein Makro, womit ich ein Tabellenblatt aus einer Liste auswähle und beim anklicken gelöscht wird.

Habe es schon mit "wait" was ich im Inet gefunden habe probiert, aber es funktioniert nicht, da ich in der Wartezeit nichts auswählen kann.

Sub Loeschen()
Application.DisplayAlerts = False
ActiveWindow.DisplayWorkbookTabs = True
Application.Wait Now + TimeValue("00:00:05")
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayAlerts = True
End Sub


Vielen Dank schonmal und Internette Grüsse

14 Antworten

0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo nighty!

Leider gibt es keinen Edit-Button. Wie gesagt, das ausgewählte Blatt wird nicht gelöscht.

wenn ich noch einen Wunsch äußern dürft, das man bei der Auflistung diese Arbeitsblätter auslassen könnte?
Tabelle1 (Startseite)
Tabelle2 (Vorlage)
Tabelle3 (Namen_Orte)

Internette Grüsse
Mick
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi mick ^^

wie gewünscht :-))

gruss nighty

dein fehler war im  Worksheet_Change ereigniss zu finden

[code]Target.Row =1[/code]

statt

[code]Target.Row =5[/code]

[code]Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Column = 2 And Target.Row =5 Then
        Application.DisplayAlerts = False
        Worksheets("" & Cells(5, 2)).Delete
        Call Liste_Einlesen
        Application.DisplayAlerts = True
    End If
    Application.EnableEvents = True
End Sub    [/code]

das allgemeine modul mit ausschluss der genannten worksheetsnamen geaendert

[code]Sub Liste_Einlesen()
    With Worksheets("Startseite").Range("B5").Validation
        .Delete
        For WksNamen = 1 To Worksheets.Count
            If Worksheets(WksNamen).Name <> "Startseite" And Worksheets(WksNamen).Name <> "Vorlage" And Worksheets(WksNamen).Name <> "Namen_Orte" Then
                If WksNamen < Worksheets.Count Then
                    NamenSammeln = NamenSammeln & Worksheets(WksNamen).Name & ","
                Else
                    NamenSammeln = NamenSammeln & Worksheets(WksNamen).Name
                End If
            End If
        Next WksNamen
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=NamenSammeln
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub  [/code]
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo nighty,

entschuldige bitte! kam die Tage nicht vor den Rechner und konnte Dir noch nicht antworten.

Funktioniert super!! Danke! Aber wie funktioniert das mit der Aktualisierung, wenn ein neues Blatt dazukommt?
Weil es in der Drop-Down-Liste nicht angezeigt wird.

Internette Grüsse
Mick
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi mick ^^

fuer die aktualisierung

das neue blatt wurde glaube ich mit einem button eingefuegt

schreibe in dessen code am ende

Call Liste_Einlesen


gruss nighty
...