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

Spalte durchlaufen, Doppel suchen, dann Eintrag

Spalte durchlaufen, Doppel suchen, dann Eintrag
09.04.2009 15:56:44
Mandy
Hi,
ich möchte per VBA in meinem Sheet "Ablage" die Spalte E durchsuchen. Dort sind Datensätze mit gleichen Einträgen drin. (Mehrfache) Sind aber nicht immmer untereinander und ich weis nur, mein Range geht bis 750
Überall, wo ich in E mindestens 2 gleich finde, soll in Spalte L in der jeweils gleichen Zeile der Eintrag "Doppel" rein.
Wenn eine Zelle in E leer ist, einfach überspringen und weiter.
Hat einer ne Idee, wie man sowas mache kann.
Danke schon mal
Mandy

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte durchlaufen, Doppel suchen, dann Eintrag
09.04.2009 16:01:00
Timmy
Hallo Mandy,
muss es zwingend VBA sein?
Ich haette evtl. eine Loesung ohne VBA, folgende Formel in Spalte L und runterkopieren:
=WENN(ZÄHLENWENN(E$1:E1;E1)>1;"doppelt";"")
Hilfts?
Gruss
Timmy
Ja, sollte sein..
09.04.2009 16:16:50
Mandy
Hi Timmy,
ja, muss VBA sein, ich habe ein anderes makro, das Daten in diese Spalten reinschmeisst, dann wären ja meine Formeln wieder weg.
Darum wollte ich ein Makro drüberbügeln, das bei den Doppelten was reinschreibt.
Danke auch.
Gruss
Mandy
AW: Ja, sollte sein..
09.04.2009 16:28:46
Timmy
Hallo Mandy,
versuche es mal damit.
Code in das Modul der Arbeitsmappe ueber Einfuegen -> Modul:
Option Explicit

Sub doppelte_Werte()
ActiveCell.FormulaR1C1 = _
"=IF(COUNTIF(R1C[-7]:RC[-7],RC[-7])>1,""doppelt"","" "")"
Range("L1").Select
Selection.AutoFill Destination:=Range("L1:L750"), Type:=xlFillDefault
Range("L1:L750").Select
End Sub


Gruss
Timmy

Anzeige
Geht bei mir nicht..
09.04.2009 16:48:18
Mandy
Hi Timmy,
sorry, bei mir gehts nicht. es wird nur die inhalte aus Spalte L gelöscht. Habe in E aber auf jeden Fall Doppelte oder mehfach vorkommende Begriffe drin.
Geht es bei Dir ?
Vielleicht habe ich es auch falsch erklärt
SpalteE_____SpalteL_______SpalteL_neu
Hund_______1___________doppelt
Bär________1___________doppelt
Lux________2___________2
Hund_______1___________doppelt
Bär________4___________doppelt
Kater______7___________doppelt
Tiger______1___________1
Kater______5___________doppelt
Gruss
Mandy
AW: Geht bei mir nicht..
09.04.2009 16:54:25
Timmy
Hi Mandy,
schau dir mal die Bsp-datei an:
https://www.herber.de/bbs/user/61119.xls
kannst beliebig weiter Namen oder Zahlen eingeben, und Excel vergleicht entsprechend!
Immer noch nicht?
Gruss
Timmy
Anzeige
AW: Geht bei mir nicht..
09.04.2009 17:01:07
Mandy
Ah ,
jetzt, Du schreibst per Makro Formeln rein, darum werden meine restlichen Einträge in L gelöscht. Da stehen nur noch Formeln drin. Das wollte ich umgehen, ich brauche bei den Zeilen, die keine Doppelten haben, noch meine alten Einträge.
Also Formel reinschreiben ist schlecht, hast Du noch ne andere Idee ?
Danke
Mandy
AW: Geht bei mir nicht..
09.04.2009 17:14:59
Timmy
hmm...
das ist das einzige, was mir noc einfaellt...
https://www.herber.de/bbs/user/61120.xls
Das Problem ist, dass erst "doppelt" beim Duplikat angezeigt wird, beim ersten vorkommenden Wort wird das Wort selbst uebertragen, siehe z.B. "Hund"!
Ich wuesste nicht, wie man das optimieren koennte. Oder ist es nun so wie du es haben moechtest?
Ich lasse die Frage mal vorsichtshalber auf offen!
Frohe Ostern ;-)
Timmy
Anzeige
AW: argghhh offen vergessen ;-) owT
09.04.2009 17:16:36
Timmy
AW: argghhh offen vergessen ;-) owT
09.04.2009 17:51:43
ransi
HAllo
Ich hoffe ich habs richtig verstanden...
Option Explicit



Public Sub test()
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Sheets("Tabelle1").Range("E1:E1000") 'Anpassen
For Each Zelle In Bereich 'Anpassen
    If WorksheetFunction.CountIf(Bereich, Zelle.Value) > 1 Then
        Zelle.Offset(0, 7) = "DOPPELT"
        ' Else:
        ' Zelle.Offset(0, 7) = "Irgendwas anderes"
    End If
Next
End Sub

ransi
Anzeige
ja, so passts...
09.04.2009 18:35:00
Mandy
Hi,
danke, genau so sollte es sein. Besten Dank
Mandy
Trotzdem Danke...
09.04.2009 18:33:26
Mandy
Hi Timmy,
trotzdem Danke für Dein bemühen...und noch viel Spass beim Eier suchen ;-)
Gruss
Mandy
AW: so gehts
09.04.2009 18:41:25
Daniel
Hi Mandy
probier mal das Makro:

Sub doppelte_Werte()
With ActiveSheet.UsedRange
With .Columns(.Columns.Count).Offset(0, 1)
.FormulaR1C1 = "=IF(COUNTIF(C5:C5,RC5)>1,""doppelt"",RC12)"
.Copy
.Offset(, -.Column + 12).PasteSpecial xlPasteValues
.Clear
End With
End With
End Sub


Gruß, Daniel

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige