Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code Doppelte, neue Spalte, markieren

Code Doppelte, neue Spalte, markieren
17.10.2005 23:48:55
HansH
Moin Excelfreunde,
kann mir bitte einmal jemand auf die Beine helfen? Folgender Code aus dem Forum funktioniert wunderbar. Aber:
Ich hätte gerne, dass der doppelte Eintrag in der geprüften Spalte nicht gelöscht, sondern in einer rechts davon eingefügten Spalte mit z.B. "doppelt" gekennzeichnet wird.
Bisher endete jeglicher Versuch beim ersetzen von "ClearContens" mit Codeteilen aus Macrorekorderaufzeichnungen mit der Meldung "typenunverträglich".
Sub Mehrfacheinträge_löschen() Application.ScreenUpdating = False EZ = Selection.Row s = Selection.Column LZ = Selection.End(xlDown).Row For i = LZ To EZ + 1 Step -1 If Cells(i, s) = Cells(i - 1, s) Then Cells(i, s).ClearContents Next i Application.ScreenUpdating = True End Sub
Bin für jeden Tip dankbar.
Gruß
Hans

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code Doppelte, neue Spalte, markieren
17.10.2005 23:53:02
Josef
Hallo Hans!
Z.B. so!
If Cells(i, s) = Cells(i - 1, s) Then Cells(i, s + 1) = "Doppelt"
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

AW: Code Doppelte, neue Spalte, markieren
18.10.2005 00:13:51
HansH
Danke Josef,
ich hatte das schon mal soweit ohne in "Then Cells(i, s)" das "+1" einzufügen. Dann wurde der doppelte Eintrag in der gleichen Spalte durch "Doppelt" ersetzt. Meine Frage geht darüber hinaus. Es sollte eine neue Spalte eingefügt, und das "Doppelt" dort entsprechend abgelegt werden.
Geht das noch?
Anzeige
AW: Code Doppelte, neue Spalte, markieren
18.10.2005 06:23:30
Erich
Hallo Hans,
willst du dafür wirklich VBA bemühen?
Das geht doch recht einfach auch in Excel. Im flolgenden Beispiel soll Spalte B geprüft werden. Dazu habe ich die neue Spalte C eingefügt, in C2 die Formel geschrieben und nach unten kopiert.
Falls die Formeln später stören (wenn du z. B. Zeilen löschst), kannst du die Spalte C kopieren und mit "Werte einfügen" oder "Inhalte einfügen" die Formel durch ihre Werte ersetzen.
 
 ABCD
1Spalte 1Spalte 2 Spalte 3
2x2y1x2y2 x2y3
3x3y1x3y2 x3y3
4x4y1x3y2Doppeltx4y3
5x5y1x5y2 x5y3
Formeln der Tabelle
C2 : =WENN(B2=B1;"Doppelt";"")
C3 : =WENN(B3=B2;"Doppelt";"")
C4 : =WENN(B4=B3;"Doppelt";"")
C5 : =WENN(B5=B4;"Doppelt";"")
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Wenn du das für viele Spalten brauchst, lässt sich das mit VBA automatisieren.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Code Doppelte, neue Spalte, markieren
18.10.2005 17:49:10
HansH
Hallo Erich,
ich käme mit Formeln schon klar. Das Problem ist, dass diese Datei später auch andere nutzen (können/dürfen/wollen) :-) und da wäre der oder die eine oder andere überfordert. So wäre eine Automatisierung über VBA von großem Vorteil.
Vielleicht denke ich auch zu kompliziert. Eine neue erste Spalte wäre für die Auswertung auch ausreichend. Hauptsache die zu vergleichenden Bezugszellen wären dann flexibel wählbar und die Prüfung geht nicht über die gefüllten Zellen nach unten hinaus.
Auf jeden Fall schon mal Danke für Deine Anregung.
Gruß
Hans
AW: Code Doppelte, neue Spalte, markieren
18.10.2005 18:37:54
Erich
Hallo Hans,
probier mal die beiden Prozeduren:

Sub Mehrfacheinträge_löschen1()
'  Der geprüfte Bereich muss nach der selektierten Spalte sortiert sein.
'  Geprüft wird ab der aktiven Zelle abwärts.
'  Dubletten werden in der Spalte hinter dem geprüften Bereich markiert.
Dim EZ As Long, sp As Integer, ii As Integer
Application.ScreenUpdating = False
EZ = Selection.Row
sp = Selection.Column
ActiveSheet.Columns(sp + 1).Insert
Cells(EZ, sp).Select
'  For ii = EZ + 1 To Cells(Rows.Count, sp).End(xlUp).Row
'    oder
For ii = EZ + 1 To Selection.End(xlDown).Row
If Cells(ii - 1, sp) = Cells(ii, sp) Then Cells(ii, sp + 1) = "doppelt"
Next ii
Application.ScreenUpdating = True
End Sub


Sub Mehrfacheinträge_löschen2()
'  Der geprüfte Bereich muss nach der selektierten Spalte sortiert sein.
'  Geprüft wird ab der aktiven Zelle abwärts.
'  Dubletten werden in einer neu eingefügten Spalte A markiert.
Dim EZ As Long, sp As Integer, ii As Integer
Application.ScreenUpdating = False
EZ = Selection.Row
sp = Selection.Column + 1
ActiveSheet.Columns(1).Insert
Cells(EZ, sp).Select
'  For ii = EZ + 1 To Cells(Rows.Count, sp).End(xlUp).Row
'    oder
For ii = EZ + 1 To Selection.End(xlDown).Row
If Cells(ii - 1, sp) = Cells(ii, sp) Then Cells(ii, 1) = "doppelt"
Next ii
Application.ScreenUpdating = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Code Doppelte, neue Spalte, markieren
18.10.2005 20:13:12
HansH
Hallo Erich,
jetzt hab ich ein Problem ;-)
Ich weiß garnicht welcher der beiden Vorschläge der bessere ist.
Funktionieren echt klasse.
Danke
Hans
Danke für Rückmeldung - Vorschlag: Würfeln! (oT)
18.10.2005 22:05:24
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige