Wenn man das Problem hat, aus einer eventuell sehr großen Tabelle Zeilen entfernen zu müssen, die gemäß von Key-Werten in einer Spalte identifiziert werden können, kann dies mit der im folgenden gezeigten Prozedur erreicht werden. Voraussetzung ist, dass die Tabelle nach der Spalte mit den Key-Werten sortiert sein muss. Die Prozedur: ' Alle Zeilen, die doppelte Einträge in einer 'Ident'-Spalte enthalten, löschen ' tb.. die Word-Tabelle ' sp.. die Spalte (sortiert!) mit den Vergleichswerten ' anfZ.. die Zeile, mit der begonnen werden soll (...Überschrift) Sub DistinctTable(tb As table, sp As Integer, Optional anfZ As Integer = 1) Dim i As Long Dim anzRows As Long Dim lastValue As String Dim actValue As String anzRows = tb.Rows.Count ' Anzahl der Tabellenzeilen lastValue = "" i = anfZ Do While i < anzRows actValue = tb.Rows(i).Cells(sp).Range.text ' einkürzen eventuell nötig wegen Tabellenzellen-Notation actValue = Left(actValue, Len(actValue) - 2) If lastValue = "" Or lastValue <> aktValue Then lastValue = actValue ' Vergleichswert hat sich geändert i = i + 1 Else tb.Rows(i).Delete ' löschen einer 'Duplikat'-Zeile anzRows = anzRows - 1 End If DoEvents Loop End Sub Zum Testen: Sub testDistinct() DistinctTable ActiveDocument.Tables(1), 1 End Sub Dieser Tipp wurde bereits 6.735 mal aufgerufen.
Anzeige
![]() ![]() ![]() Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats sevGraph (VB/VBA) ![]() Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |