Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Tabellenblätter auswählen und automatisch löschen





Frage

Hallo zusammen, ich suche eine Möglichkeit aus Excel Tabellenblätter automatisch zu löschen. Und zwar soll das ganze so aussehen das ich eine Auswahlmaske habe in der ich markiere welche Tabellenblätter benötigt werden Die nicht benötigten Tabellenblätter sollen dann automatisch gelöscht werden können. Alternativ könnte ich mir auch vorstellen das nach der Auswahl die benötigten Exceltabellen aus mehreren Dateien in einen zusammengeführt werden. Bietet Excel hierfür überhaupt einen Lösung? Vielen dank Gruss Trudi

Antwort 1 von Guenter

Hallo,

das würde man normalerweise mit einem Listenfeld machen.
In das Listenfeld können alle Namen der Tabellenblätter eingelesen werden, dann kann man Mehrfachauswahl treffen und das Ergebnis bearbeiten (löschen. kopieren, etc.).

Kennst Du Dich aus mit UserFormen und Listenfeldern?

Gruß
Günter

Antwort 2 von Trudi

Hallo Günter,

vielen dank für den Tip kenn mich leider nicht damit aus.
Wen du mir allso eine kurze beschreibung schiken könntest wäre es klasse, ansonsten werd ich schon mal meine Bücher und die hilfe befragen.

Danke

Trudi

Antwort 3 von Guenter

Hallo Trudi,

ich schicke Dir mal eine Beispiel Excel-Datei.
Vielleicht kannst Du da schon sehen, was man machen kann.

Gruß
Günter

Antwort 4 von Trudi

Hallo Günter,
vielen dank für die Datei.
Im Grunde ist das schon das was ich suche, nur gibt es dabei 2 Probleme.
1. ich würde gerne mehrere Blätter gleichzeitig zum löschen wählen können.
und 2. ich weis leider nicht wie ich so einen Button erstellen kann

kannst du mir noch mal weiterhelfen?

Danke

Trudi


Antwort 5 von Guenter

Hallo Trudi,

ich habe jetzt die Mehrfachauswahl eingebaut.
Die Beispieltabelle kommt per e-mail.

Für alle, die es interessiert, hier der Code:


Option Explicit

Private Sub CommandButton1_Click()
  dlgListWorksheets.Show
End Sub


Option Explicit

' Listenfeld mit den Namen aller Tabellenblättern füllen
Private Sub UserForm_Initialize()
  Dim wsh As Worksheet
  For Each wsh In Worksheets
    listboxSheets.AddItem wsh.Name
  Next
End Sub

' ausgewähltes Blatt aktivieren, Dialog schließen
Private Sub btnOK_Click()
  Dim i%
  For i = Worksheets.Count To 1 Step -1
    If listboxSheets.Selected(i - 1) = True Then
      Worksheets(listboxSheets.List(i - 1)).Activate
      If ActiveSheet.Name <> "Tabelle1" Then ActiveSheet.Delete
    End If
  Next i
Unload Me
End Sub

' Dialog schließen
Private Sub btnCancel_Click()
  Unload Me
End Sub



Dazu gehören noch die Userform mit Listenfeld und Buttons.

Gruß
Günter