Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1476to1480
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

daten markieren

daten markieren
03.03.2016 08:27:34
thomas
Hallo Excelfreunde,
ich bin gerade dabei ein Listview zusammen zustricken. Ich bin dank einiger Tipps auch schon ziehmlich weit gekommen.
Mein ziel ist es wenn ich im Listview eine zeile markiere dann soll auch der dazugehörige datensatz in der Tabelle markiert werden.
Dazu habe ich zwei möglichkeiten erarbeitet. Jedoch sind beide nicht gut
die erste variante funktioniert nur solange wie ich im listview nichts sortiere
Private Sub CommandButton2_Click()
' markierte Zeile in tabelle Markieren !!!! funktioniert nicht wenn spalten sortiert werden
' dann wird die falsche zeile markiert
On Error GoTo errHaendler
If ListView1.SelectedItem.Index > 0 Then
ActiveSheet.Rows(startRow + ListView1.SelectedItem.Index - 1).Select 'Delete
'ListView1.ListItems.Remove ListView1.SelectedItem.Index
End If
errHaendler:
End Sub
meine zweite möglichkeit ist ich schreibe die erste spalte in eine textbox und suche dann in der tabelle nach diesem wert.
Private Sub CommandButton3_Click()
'######### markierten Datensatz in textbox schreiben ab hier
Dim n&
Me("TextBox" & 1) = ListView1.SelectedItem
For n = 2 To 2
Me("TextBox" & n) = ListView1.SelectedItem.SubItems(n - 1)
Next n
'######### markierten Datensatz in textbox schreiben bis hier
'######### textboxinhalt in Tabelle suchen und markieren ab hier
Dim i%, c As Range, firstAddress As String
Dim strSuchbegriff$, strTextfeld$
Dim strFundorte$
strSuchbegriff = TextBox1 'Suchbegriff eingeben
If strSuchbegriff = "Falsch" Then Exit Sub 'Bei Abbruch Sub verlassen
With Sheets("Tabelle1").Range("A:A")
Set c = .Find(strSuchbegriff, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
strFundorte = strFundorte & "Zelle: " & _
c.Address(False, False) & vbCr
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address firstAddress
End If
End With
Sheets("Tabelle1").Activate
'Range("A1").Select
Range(c.Address).Select
MsgBox strFundorte, , "Fundorte"
End Sub
Dies hat jedoch den nachteil das ich so zwar texte behandeln kann aber keine Datum- Werte.
kennt jemand noch ein besseren weg?
https://www.herber.de/bbs/user/104063.xl
irgendwie soll es noch mit einem key gehen aber dies bekomme ich einfach nicht hin
habt schon recht vielen dank für euer interesse
liebe grüsse thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: daten markieren
03.03.2016 09:20:36
Steve
Hallo Thomas,
das einfachste wäre gleich beim Einlesen der Werte die Zeile mitzuschreiben (extra Spalte), dann kannst du sortieren, Eintrag auswählen und liest die Zeilen-Nr. wieder aus.
      For RowNumber = 2 To MaxRow
.ListItems.Add , , Tabelle1.Cells(RowNumber, 1).Value
.ListItems(RowNumber - 1).ListSubItems.Add , , Tabelle1.Cells(RowNumber, 2).Text
.ListItems(RowNumber - 1).ListSubItems.Add , , Tabelle1.Cells(RowNumber, 3).Text
.ListItems(RowNumber - 1).ListSubItems.Add , , Tabelle1.Cells(RowNumber, 5).Text
.ListItems(RowNumber - 1).ListSubItems.Add , , Tabelle1.Cells(RowNumber, 7).Text
.ListItems(RowNumber - 1).ListSubItems.Add , , Tabelle1.Cells(RowNumber, 8).Text
.ListItems(RowNumber - 1).ListSubItems.Add , , Tabelle1.Cells(RowNumber, 9).Text
.ListItems(RowNumber - 1).ListSubItems.Add , , RowNumber
Next RowNumber
lg Steve

Anzeige
AW: daten markieren
03.03.2016 09:58:45
thomas
Hallo Steve,
klasse das du mal schaust.
ich habe jetzt die Zeilen angepasst und zusätzlich nehme ich die spalte mit rein
With .ColumnHeaders
.Add , , "ID"
.Add , , "Date"
.Add , , "Time"
.Add , , "Customer"
.Add , , "City"
.Add , , "Amount"
.Add , , "Orders"
.Add , , "Rownummer" ', 60
End With
Nun habe ich die endsprechende Zeilennummer mit im Listviev. Funktioniert klasse.
Nur was muss ich noch anpassen
bestimmt dies hier
Private Sub CommandButton2_Click()
' markierte Zeile in tabelle Markieren !!!! funktioniert nicht wenn spalten sortiert werden
' dann wird die falsche zeile markiert
On Error GoTo errHaendler
If ListView1.SelectedItem.Index > 0 Then
ActiveSheet.Rows(startRow + ListView1.SelectedItem.Index - 1).Select 'Delete
'ListView1.ListItems.Remove ListView1.SelectedItem.Index
End If
errHaendler:
End Sub
kannst Du noch mal schauen ich bekomme es irgntwie nicht gebacken.
hab schon mal vielen dank fü die hilfe.
liebe grüsse thomas

Anzeige
hab die lösung gefunden
03.03.2016 19:46:57
Thomas
Hallo Excelfreunde,
ich habe eine Lösung gefunden.
Ich schreibe die Zeilennummer in eine Textbox und bilde daraus ein Range.
es klappt super
besten dank für eure tipps.
liebe grüsse thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige