Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datensätze lt. Anzahl suchen

Datensätze lt. Anzahl suchen
15.09.2005 17:17:48
Rolf
Hallo Excelprofis,
Folgendes Makro hat die Aufgabe alle Artikelnummern die z.B. 3 mal vorkommen von Tabelle 1 ab Zelle A2 in Tabelle 2 ab Zelle A2 zu kopieren (alle 3 Artikelnummern komplette Zeile kopieren).
Dieses Makro funktioniert nur, wenn auch ein Wert in Zelle A1 steht.
Wie kann das Makro geändert werden, so das es sicher ab Zelle A2 läuft?

Sub DatensätzeSuchen()
Dim rng As Range, rCell As Range, blnFound As Boolean
Dim iRow As Integer
Set rng = Range("A2").CurrentRegion
For Each rCell In rng.Columns(1).Cells
If WorksheetFunction.CountIf(rng.Columns(1), rCell.Value) = 3 Then
blnFound = True
iRow = iRow + 1
rng.Rows(rCell.Row).Copy Destination:=Sheets("Tabelle2").Range("A2"). _
Cells(iRow, 1)
End If
Next rCell
If blnFound = False Then
Beep
MsgBox "Keine Datensätze gefunden!"
Else
Columns.AutoFit
End If
End Sub

Vielen Dank im voraus
Rolf

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datensätze lt. Anzahl suchen
15.09.2005 21:48:34
Ramses
Hallo
Also mir ist nicht klar was das Makro mit einem Wert in A1 zu tun haben sollte,.. ausser du hast nur 3 Datensätze incl. Wert in A1.
Alternativ mal Beispieltabelle mit Code hochladen
Gruss Rainer
AW: Datensätze lt. Anzahl suchen
15.09.2005 22:25:48
Manfred
Hallo Rolf,
Ändere die Zeile mit der Kopiert wird wie folgt:
rng.Rows(rCell.Row).Copy .... in rng.Rows(iRow).Copy ....
Die komplette Zeile lautet dann:
rng.Rows(iRow).Copy Destination:=Sheets("Tabelle2").Range("A2"). _
Cells(iRow, 1)
Gruß Manfred
AW: Datensätze lt. Anzahl suchen
15.09.2005 22:56:07
Ramses
Hallo
das funktioniert nicht, weil sich "iRow" auf die Zieltabelle bezieht und nicht auf die geprüfte Zelle/Zeile innerhalb des zu prüfenden Bereiches.
Er verweist hier korrekt auf das Object "rCell" für jede Zelle im Bereich.
Gruss Rainer
Anzeige
AW: Datensätze lt. Anzahl suchen
16.09.2005 07:29:44
Manfred
Hallo
Also bei mir funktioniert das !!!
AW: Datensätze lt. Anzahl suchen
18.09.2005 13:35:17
Rolf
Hallo Rainer, hallo Manfred,
danke für Eure Hilfe.
Ich konnte erst heute das Makro testen, funktioniert aber nicht.
Das Problem ist, dass das Makro nur dann richtig funktioniert wenn in A1 ein Wert steht.
Suche ich z.B. nur Datensätze die einmal vorkommen, wird auch die Zeile 1 kopiert.
In der Zeile 1 ist aber eine Überschrift die nicht kopiert werden soll.
Vieleicht hat noch jemand eine Idee?
Vielen Dank im voraus
Rolf
AW: Datensätze lt. Anzahl suchen
18.09.2005 14:09:29
Ramses
Hallo
dann setz den Wert von "iRow" auf 1 VOR der Schleife.
In der Schleife wird dann "iRow +1" gerechnet und das ergibt 2. Dann wird/sollte die Überschrift nicht mitkopiert werden.
Gruss Rainer
Anzeige
AW: Datensätze lt. Anzahl suchen
18.09.2005 21:11:07
Rolf
Hallo Rainer,
Danke.
Wie muß ich deine Idee in das Makro einfügen?
Gruß Rolf
AW: Datensätze lt. Anzahl suchen
18.09.2005 21:49:42
Ramses
Hallo
also so kompliziert sollte das ja nun nicht sein ;-)
Set rng = Range("A2").CurrentRegion
iRow = 1
For Each rCell In rng.Columns(1).Cells
Gruss Rainer
AW: Datensätze lt. Anzahl suchen
19.09.2005 19:39:17
Rolf
Hallo Rainer,
vielen Dank es hat funktioniert.
Gruss Rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige