Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
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
Inhaltsverzeichnis

Auswahl Menü

Auswahl Menü
22.01.2024 09:54:32
Simone
Guten Morgen an Alle :-)
mal wieder habe ich ein Anliegen.
Wir haben vier Tabellenblätter, alle genau gleich aufgebaut.
In der Zusammenfassung möchte ich, dass alle vier Tabellenblätter zusammengeführt werden.
Jetzt soll über einen Button Auswählbar sein die Spalte A , aber nur einmal aufzulisten. Wähle ich z.b. TestAsta1 ( Immer Spalte a) dann dann kommt ein Filter rein Spalte A = TestAsta1. Dann soll eine MSG Box kommen mit ( Filter gesetzt bei TestAsta 1 und Dauer 62 min ( Tabellenblatt Daten )

Wäre sowas möglich ?

https://www.herber.de/bbs/user/166241.xlsm

Besten Dank schon mal Vorab.
LG Simone

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswahl Menü
22.01.2024 10:58:59
Beverly
Hi Simone,

im UserForm diese beiden Codes:

Option Explicit


Private Sub CommandButton1_Click()
Dim lngErste As Long
Dim rngZelle As Range
Dim wksTab As Worksheet
Dim lngAnzahl As Long
' wenn nichts augewählt dann verlassen
If Me.ListBox1.ListIndex = -1 Then
MsgBox "Bitte Aufgabe auswählen"
Exit Sub
End If
' Tabellenblatt ab Zeile 6 bis zur letzten belegten Zelle leeren
With Worksheets("Zusammenfassung")
lngErste = .Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
.Range(.Cells(6, 1), .Cells(lngErste, 13)).ClearContents
End With
lngErste = 6
' Schleife über alle Tabellenblätter
For Each wksTab In Worksheets
' nur die aufgeführten berücksichtigen
Select Case wksTab.Name
Case "Linux", "Astra", "Osten", "BSW"
' suche in Spalte A nach der ListBox-Auswahl, komplette Übereinstimmung
Set rngZelle = wksTab.Columns(1).Find(Me.CommandButton1.Tag, lookat:=xlWhole)
' Suchbegriff wurde gefunden
If Not rngZelle Is Nothing Then
' Anzahl des Suchbegriffs ermitteln
lngAnzahl = Application.CountIf(wksTab.Columns(1), rngZelle.Value)
' Bereich mit dem Suchbegriff in Spalte A kopieren in erste freie Zelle
wksTab.Range(wksTab.Cells(rngZelle.Row, 1), wksTab.Cells(rngZelle.Row + lngAnzahl - 1, 13)).Copy Worksheets("Zusammenfassung").Cells(lngErste, 1)
' neue erste freieZeile ermitteln
lngErste = lngErste + lngAnzahl
End If
End Select
Next wksTab
End Sub

Private Sub ListBox1_Click()
' Auswahl der ListBox wird in die Tag-Eigenschaft des commandButton geschrieben
Me.CommandButton1.Tag = Me.ListBox1.List(Me.ListBox1.ListIndex, 0)
End Sub



Vor jedem Kopiervorgang wird Tabelle "Zusammenfassung" geleert.

Bedingung für das richtige Funktionieren des Code ist, dass alle Blätter nach Spalte A sortiert sind. Wenn das nicht der Fall ist, müsste man es über Filterung der Tabellen realisieren und nur die gefilterten Zeilen übertragen, der Rest bleibt gleich.

https://www.herber.de/bbs/user/166243.xlsm

Bis später
Karin

Link zur Homepage: https://excel-inn.de/

Anzeige
AW: Auswahl Menü
22.01.2024 11:12:41
Simone
Hallo Katrin,

WOW sage ich nur :-)
Ich bräuchte noch die Dauer, kann man diese im User Form auch anzeigen lassen ?
Ich habe dazu eine Textbox im Userform gemacht. Da Brauche ich irgendwie einen SVERWEIS oder sowas:-)
Die Zeiten stehen im Tabellenblatt Daten drin.

Dankeschön :-)

Sieht echt klasse aus :-)
Bin Happy :-)
AW: Auswahl Menü
22.01.2024 17:35:03
Beverly
Hi Simone,

du hast Recht, wenn es eine Formelläsung wäre würde man SVERWEIS verwenden. :-)

In VBA ist es etwas ähnliches: man nimmt quasi den ListIndex des markierten Eintrags als Zeile, in der sich der ausgewählte Zellinhalt befindet und erhält damit die Nummer der Zelle, in der er steht (natürlich in Spalte A). Damit kann man dann logischerweise die Nummer der Zelle aus der gesuchten Spalte (hier B) ermitteln. Das ist bei dir ganz einfach, da deine Daten-Tabelle in Zeile 1 des Tabellenblattes beginnt. Allerdings muss man beachten, dass die Zählung des ListIndex in der ListBox immer bei 0 beginnt - deshalb muss 1 addiert werden um die gewünschte Zellennummer zu erhalten:

Private Sub ListBox1_Click()

' Auswahl der ListBox wird in die Tag-Eigenschaft des commandButton geschrieben
Me.CommandButton1.Tag = Me.ListBox1.List(Me.ListBox1.ListIndex, 0)
' mm-Angabe aus Spalte B entnehmen, dabei zum ListIndex 1 addieren da Listindex bei 0 beginnt
Me.TextBox1 = Worksheets("Daten").Columns(2).Cells(Me.ListBox1.ListIndex + 1)
End Sub


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Auswahl Menü
22.01.2024 11:08:17
MCO
Guten Morgen, Simone!

Ich hab mal eingebaut, was du beschrieben hast. Damit kommst du sicher weiter.
Den Bereich mit den Auswahlkriterien hab ich mit einem Namen versehen.
https://www.herber.de/bbs/user/166244.xlsm
Gruß, MCO
AW: Auswahl Menü
22.01.2024 14:39:44
Simone
Hallo MCO,
danke für deine Hilfe, aber ich brauche das in einem Tabellen Blatt wie Katrin gemacht.:-)
Danke Dir

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige