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

Historie via VBA entfernen

Historie via VBA entfernen
13.07.2021 11:13:06
Daniel
Hallo Liebe VBA-Experten :)
ich möchte Duplikate in der Nummerung entfernen. Wobei es keine wahren Duplikate sind. Sie bilden eine Historie ab wo sich die werte in Spalte 3 Unterscheiden. Also kann ich die Funktion Duplikate entfernen nicht nutzen.
Userbild
Wie ihr seht ist die Spalte 1 mehrfach belegt und rechts daneben habe ich einen Zeitstempel und ich möchte von Spalte 3 (Nicht auf dem Screenshot) nur den neusten wert haben.
Kann mir jemand helfen wie ich dies in VBA programmieren könnte?

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Historie via VBA entfernen
13.07.2021 11:55:22
UweD
Hallo
in ein normales Modul

Sub Neueste()
Dim RNG As Range
With ActiveWorkbook.Sheets("Tabelle1")
Set RNG = .Columns("A:C")
With .Sort
.SortFields.Clear
.SortFields.Add2 Key:=RNG.Columns(1), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add2 Key:=RNG.Columns(2), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
.SetRange RNG
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
RNG.RemoveDuplicates Columns:=1, Header:=xlYes
End With
End Sub
LG UweD
Anzeige
AW: Historie via VBA entfernen
13.07.2021 12:05:22
Daniel
Hallo Uwe und danke für die schnelle antwort.
leider kommt bei mir eine Fehlermeldung.
An was kann das liegen?
Userbild
Userbild
LG
Daniel
AW: Historie via VBA entfernen
13.07.2021 12:55:30
UweD
Hallo
ggf ist es die Excelversion, die Add2 nicht ünterstützt.
Nimm mal die 2 weg
LG UweD
AW: Historie via VBA entfernen
13.07.2021 13:03:04
Daniel
Hallo Uwe,
jetzt ist der fehler ein anderer.
bei RNG.RemoveDuplicates kommt laufzeitfehler 1004: Anwendungs oder Objektorientierter Fehler.
ich habe noch einmal einen ausschnitt mit allen spalten und Zeilen von der Historie von Nummer 8 gemacht:
Userbild
Danke für deine Hilfe und zeit im Übrigen!
LG
Daniel
Anzeige
AW: Historie via VBA entfernen
13.07.2021 13:15:32
UweD
Hi
lad mal anstelle des Bildes eine Musterdatei hoch
LG UweD
AW: Historie via VBA entfernen
13.07.2021 13:47:03
Daniel
Hallo Uwe,
wie lade ich genau eine Muster Datei hoch?
LG
Daniel
AW: Historie via VBA entfernen
13.07.2021 13:55:51
UweD
Hallo
genauso, wie du es mit den Bildern machst.
Anstelle der JPG nimmst die .xls? Datei
Vorher sensible Daten entfernen, Aber die allgemeine Struktur nicht verändern.
LG UweD
AW: Historie via VBA entfernen
13.07.2021 15:42:47
UweD
Hallo nochmal
du verwendest eine "Inteligente Tabelle"
versuch es so.
Achte aber auf den richtigen Namen aus dem NamensManager.

Sub Neueste()
Dim RNG As Range
Set RNG = Range("Tabelle_Abfrage_von_IWH_EVT") 'ggf. anpassen
With .Sort
.SortFields.Clear
.SortFields.Add Key:=RNG.Columns(1), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=RNG.Columns(2), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
.SetRange RNG
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
RNG.RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
LG UweD
Anzeige
AW: Historie via VBA entfernen
13.07.2021 16:05:31
Daniel
Servus Uwe,
ich habe leider noch was
bei With .Sort wird mir angezeigt: Unzulässiger oder nicht ausreichend definierter Hinweis.
LG Daniel
AW: Historie via VBA entfernen
13.07.2021 16:14:13
UweD
Upppps
zu viel weggelöscht
With ActiveWorkbook.ActiveSheet.Sort
anstelle vom
With .Sort
AW: Historie via VBA entfernen
13.07.2021 16:17:32
Daniel
Super danke!!!
hat geklappt!!
Bester mann! danke dir
AW: Historie via VBA entfernen
13.07.2021 13:10:59
Daniel
Hi
Das geht schon mit Duplikate entfernen.
Das Duplikate entfernen lässt immer den obersten Eintrag einer Duplikatgruppe stehen.
Also musst du über vorheriges Sortieren die Werte so anordnen, dass die Zeile mit dem benötigten Wert zuerst kommt.
Dh du sortierst deine Liste nach Spalte ABT_ET_DAT absteigend (die Sortierung nach FABTNR kann bleiben, die Priorität der einzelnen Sortierspalten ist egal), so dass der jüngste Eintrag zu einer FABTNR immer als erstes kommt und die älteren dann danach.
Dann wendest du das Duplikate entfernen auf die ganze Tabelle an, mit der Spalte FABTNR als Kriteriumspalte.
Für die Umsetzung in VBA nutze den Recorder.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige