Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

An Ramses - zum Problem von gestern

Forumthread: An Ramses - zum Problem von gestern

An Ramses - zum Problem von gestern
24.02.2004 13:21:03
Mario
Hallo Rainer,
nein, das unten aufgeführte Problem ist kein Scherz.
Excel sollte selbständig erkennen, welche Inhalte einer Spalte mehrfach vorhanden sind. Ein Beispiel - Spalte A:
Zeile 1: A
2: B
3: A
4: C
5: B
Usw.
Jetzt soll Excel den Inhalt der Zeilen 1 u. 3 sowie 2 und 5 in zwei neue Tabellenblätter kopieren.
An einem anderen Tag sieht die Spalte A dann so aus.
1: X
2: Z
3: Z
4: X
5: Y
Dann sollen diese Variablen kopiert werden.
Würde dies mit Excel funktionieren?
Gruß,
Mario
Hallo an alle,
wie erreiche ich über ein Makro, dass Excel alle Zellen, die den gleichen Inhalt haben, in ein neues Tabellenblatt kopiert. Der zu vergleichende Inhalt ist allerdings nicht bekannt. Weiß jemand Rat?
Vielen Dank
Gruß,
Mario
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: An Ramses - zum Problem von gestern
24.02.2004 13:54:22
Ramses
Hallo
das ganze ist meines Erachtens nur sehr aufwändig mit mehreren Schleifen und einem Array zu lösen.
Das dauert dann etwas.
Ich kann mir was ausdenken, ... aber wenn an der Fragestellung dann noch was geändert wird steige ich aus. OK ?
Gruss Rainer
AW: An Ramses - zum Problem von gestern
24.02.2004 14:12:52
Mario
Hallo Rainer,
das wär super!
An der Fragestellung ändert sich nichts.
Vielen Dank!!!
Grüße,
Mario
Anzeige
Das sollte es sein...
24.02.2004 15:04:54
Ramses
Hallo
probier das mal aus


Option Explicit
Sub Find_Doublettes()
'by Ramses
'Durchsucht eine Tabelle in Spalte A nach >1 vorkommenden Werten
'Diese Werte werden jeweils in ein eigenes Tabellenblatt kopiert
Dim As Integer, n As Integer
Dim cr As Long, resCounter As Long, rowCounter As Long
Dim isHere As Boolean
Dim resArr()
Dim tmpWksName As Worksheet
Dim wks As Worksheet
'Hier stehen die Daten
Set wks = Worksheets("Tabelle1")
cr = 65536
'Letzte Zeile aussuchen in Datentabelle
If wks.Cells(cr, 1) = "" Then
    cr = wks.Cells(cr, 1).End(xlUp).Row
End If
'Array vorläufig dimensioniern
ReDim resArr(cr)
isHere = False
resCounter = 1
For i = 1 To cr
    If WorksheetFunction.CountIf(Range("A:A"), wks.Cells(i, 1)) > 1 Then
        For n = 0 To UBound(resArr())
            If wks.Cells(i, 1) = resArr(n) Then
                isHere = True
                Exit For
            End If
        Next n
        If isHere = False Then
            resArr(resCounter) = wks.Cells(i, 1)
            resCounter = resCounter + 1
        End If
        isHere = False
    End If
Next i
'Array auf effektive Daten zurückdimensionieren
ReDim Preserve resArr(resCounter)
For i = 1 To UBound(resArr())
    rowCounter = 1
    Set tmpWksName = Worksheets.Add
    Worksheets(ActiveSheet.Name).Move after:=Worksheets(Worksheets.Count)
    For n = 1 To cr
        If wks.Cells(n, 1) = resArr(i) Then
            wks.Rows(n).Copy Destination:=tmpWksName.Rows(rowCounter)
            rowCounter = rowCounter + 1
        End If
    Next n
Next i
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruss Rainer
Anzeige
AW: Das sollte es sein...
24.02.2004 16:08:49
Mario
Hallo,
es scheint noch nicht zu funktionieren. Sobald ich das Makro starte, öffnet sich die Funktion "Liste erstellen". Was kann ich da falsch machen?
Gruß,
Mario
AW: Das sollte es sein...
24.02.2004 16:24:08
Ramses
Hallo
ich weiss nicht was du in deiner Tabelle noch hast, und die Funktion "Liste estellen" ist mir unbekannt.
Das Makro funktioniert.
Hier eine Beispieldatei
https://www.herber.de/bbs/user/3912.xls
Gruss Rainer
Anzeige
AW: Das sollte es sein...
24.02.2004 16:33:05
Mario
Rainer,
spitze, es klappt!
Vielen Dank!!!
Grüße,
Mario
Merci :-) Geschlossen o.T.
24.02.2004 16:44:46
Ramses
...
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige