Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
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

Datensätze auswählen - elegantester Weg?

Datensätze auswählen - elegantester Weg?
10.04.2015 15:25:05
zettelbox
Hallo zusammen,
ich habe in einiger Tabelle einige Datensätze, die VBA-unterstützt eingefügt, ergänzt, bearbeitet und gelöscht werden können. Auch die statistische Auswertung mehrerer Datensätze untereinander soll möglich sein und möchte ich jetzt implementieren.
Dazu müssen mehrere Datensätze gleichzeitig ausgewählt und dann ein Button geklickt werden. Bislang habe ich beim Erstellen eines neuen Datensatzes eine Checkbox generiert, die in die erste Spalte der Zeile gesetzt wurde und einen Namen bekommen hat, die eine individuelle Nummer des Datensatzes erhielt. Beim Klick eines Buttons wurden alle Checkboxen des Sheets durchlaufen und bei den angewählten die entsprechende ID ausgelesen, damit ich weiß, welche Datensätze ausgewählt wurden.
Großer Nachteil: Die Checkboxen sind nicht mit der Zeile verbunden. Sie wurden durch Berechnungen der Eigenschaften Top und Right platziert. Wenn ich die Tabelle aber neu sortiere, passen die Checkboxen nicht mehr zu den Datensätzen. Sie sind damit wertlos.
Gibt es andere Möglichkeiten, wie der Anwender elegant mehrere Datensätze zur Weiterverarbeitung anwählen kann? Von den Checkboxen habe ich mich damit gedanklich verabschiedet, solange sie nicht in einer Zelle verankert werden können (und z.B. beim Sortieren mit verschoben werden). Mir fällt nur noch ein, dass der Anwender per Strg+Klick je eine Zelle des Datensatzes markieren und dann den Button klicken muss. Ich müsste dann die Zeilen der Selection auslesen. Elegant ist das aber nicht. Gibt es hier bessere Vorgehensweisen?
Danke! :)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datensätze auswählen - elegantester Weg?
10.04.2015 16:11:32
EtoPHG
Hallo Fremdling,
Dero Möglichkeiten gibt es viele!
Eine einfache:
Die erste freie Spalte neben dem Datenberei wird zur Auswahl hergezogen und dieser Code (Beispiel mit Spalte J) wird ins Tabellenblatt eingefügt:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const lCheckCol As Long = 10  '(Spalte J)
If Target.Column = lCheckCol Then
If Target.Row = 1 Then
Select Case Target.Text
Case "Keine"
Target = "Alle"
Target.Resize(Cells(Rows.Count, 1).End(xlUp).Row - 1).Offset(1) = True
Case Else
Target = "Keine"
Target.Resize(Cells(Rows.Count, 1).End(xlUp).Row - 1).Offset(1) = False
End Select
Else
Target = Not (Target)
Cells(1, lCheckCol) = "Ausgewählte"
End If
Cancel = True
End If
End Sub
Annahmen:
Zeile 1 = Titelzeile
Datenbereich beginnt ab Zeile 2
Spalte 1 enthält Werte bis zum letzten Datensatz
Doppelklick Zelle der neuen Spalte:
Zeile 1 : Toggled zwischen Keine / Auswahl
ab Zeile 2 : Toggled zwischen Auswahl = WAHR (d.h. Ausgewählt) / FALSCH (Nicht Ausgewhlt)
Somit könnte die Spalte z.B. auch noch mit Bed. Formatierung visuell markiert werden, ob ausgewählt oder nicht.
Im Code zur Auswertung wird einfach der Zellwert dieser Spalte geprüft und nur die Datensätze welche = True sind ausgewertet.
Gruess Hansueli
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige