Nach gleichen Einträgen suchen

moin
Ich benutze Excel um eine Liste von Vokabeln zu verwalten.
Allerdings trage ich hin und wieder die selben Vokabel mehrfach ein.
Gibt es eine Möglichkeit zu prüfen, ob der eintrag schon vorhanden ist ohne jedes word in die suche einzugeben?
Wenn das möglich ist: Ist das auch für mehrere .xls möglich. Ich schreibe nämlich nur jeweils 100 Vokabeln in eine Datenblatt um die Abfrage zu erleichtern.
Wär echt klassen, wenn ihr ne Idee habt.
Grüße
elactic

Hallo,

Gibt es eine Möglichkeit zu prüfen, ob der eintrag schon
vorhanden ist ohne jedes word in die suche einzugeben?

Ja gibt es.
Ich als nicht so versierte Userin markiere alle gewünschten Sheets(Blätter)gehe dann auf >>Bearbeiten>>Suche >>>oder ersatzweise >>Ersetzen dann den Begriff eintragen und los.
Die richtigen Wissenden können das auch als Makro formulieren. Ich leider nicht.

Aber ich hoffe du konntest gehelft werden :smile:)

redhair

Hallo elactic,

falls es Dir reicht doppelte Einträge zu löschen, gehe auf „Daten“>„Filter“>„Spezialfilter“ markiere den Listenbereich und setz das Häkchen bei „keine Duplikate“. Hierdurch werden alle doppelten Einträge gelöscht. Alternativ kannst Du auch ein Häkchen bei „an eine andere Stelle kopieren“ machen, dadurch bleibt dann der ursprüngliche Listenbereich erhalten und es wird an die von Dir dann angegebene Stelle nur der Datensatz kopiert, der keine doppelten Werte enthält.
Dies wäre allerdings immer nur für ein Tabellenblatt möglich. Sonst warte halt bis Dir jemand ein Makro postet.

Gruß
Jürgen

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Doppelte Einträge?

Hallo elactic,
in meinem Beispiel stehen Datensatzteile in den Spalten A,B und C.
Doppelte Datensätze werden entfernt.
Das Makro kann in viele Tabellen übertragen werden.

Gruß Hermes
______________________________________________________

Public Sub DuplikateLoeschenSort()
Dim xlWS As Worksheet
Dim xlRange As Range

Dim intColsCnt As Integer
Dim lngRowsCnt As Long

Dim intCol As Integer
Dim lngRow As Long
Dim lngRowsDel As Long
Dim boolDuplikat As Boolean

Application.ScreenUpdating = False

Set xlWS = ActiveSheet

With xlWS
intColsCnt = .UsedRange.Columns.Count
lngRowsCnt = .UsedRange.Rows.Count

Set xlRange = _
.Range(.Cells(1, 1), .Cells(lngRowsCnt, intColsCnt))

xlRange.Sort Key1:=.Range(„A1“), Order1:=xlAscending, _
Key2:=.Range(„B1“), Order2:=xlAscending, _
Key3:=.Range(„C1“), Order3:=xlAscending, _
Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
End With

xlWS.Range(„A1“).Select

lngRowsDel = 0
For lngRow = lngRowsCnt To 2 Step -1
boolDuplikat = True

With xlWS
For intCol = 1 To intColsCnt
If .Cells(lngRow, intCol).Value _
.Cells(lngRow - 1, intCol).Value Then
boolDuplikat = False
Exit For
End If
Next intCol

If boolDuplikat Then
.Rows(lngRow).EntireRow.Delete
lngRowsDel = lngRowsDel + 1
End If
End With
Next lngRow

Application.ScreenUpdating = True

MsgBox "Es wurden " & lngRowsDel & " doppelte " & _
„Datensätze gelöscht!“, vbOKOnly + vbInformation, _
Title:=„Doppelte Datensätze löschen“

Set xlRange = Nothing
Set xlWS = Nothing
End Sub
___________________________________________________
Wo ich das mal gefunden habe, weiß ich nicht mehr.
Auf meinem Mist ist es nicht gewachsen.
Ich benutze es schon einige Jahre…

Ich benutze Excel um eine Liste von Vokabeln zu verwalten.
Allerdings trage ich hin und wieder die selben Vokabel
mehrfach ein.
Gibt es eine Möglichkeit zu prüfen, ob der eintrag schon
vorhanden ist ohne jedes word in die suche einzugeben?
Wenn das möglich ist: Ist das auch für mehrere .xls möglich.

Hi elastic,
folgendes Makro überprüft ob der Wert der aktiven Zelle schon mal in allen gerade geöffneten xls-Dateien, außer der Person(a)l.xls, in einer Zelle steht und gibt eine Meldung aus wenn das der Fall ist.
Alt+F11, Einfügen–Modul, Code reinkopieren, Editor schließen.

In Excel: Extras–Makro–Makros, tt auswählen, Optionen, eine Tastenkombination zuweisen.
Damit startest du das Makro.
Ist das ein Ansatz zur Problemlösung?

Option Explicit
'
Sub tt()
Dim Anz As Long, wb As Workbook, ws As Worksheet
For Each wb In Workbooks
 If Not wb.Name Like "Person\*" Then
 For Each ws In wb.Worksheets
 Anz = Anz + Application.WorksheetFunction.CountIf(ws.UsedRange, ActiveCell.Value)
 Next ws
 End If
Next wb
If Anz \> 1 Then MsgBox ActiveCell.Value & " ist schon " & Anz & " - mal vorhanden"
End Sub

Gruß
Reinhard