Anzeige
Archiv - Navigation
1400to1404
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

Excel Makro auf alle Zellen einer Spalte wiederhol

Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 10:06:13
Keine
Guten Morgen,
ich hoffe jemand von euch kann mir helfen..
Ich habe mir jetzt ein Makro irgendwie zusammen gebastelt:
Momentan vergleicht er mir immer eine Zelle (A3) aus Tabelle 1, mit der kompletten Spalte A aus Tabelle zwei. Ist der Wert dort vorhanden, kopiert er mir die komplette Zeile in einer dritte Tabelle.
Nun möchte ich, dass dieses Makro auch auf alle anderen Zellen aus Tabelle 1 angewendet wird (dh. auf Zelle A4 A5 usw.). Es sind ca 20.000 Zeilen
Hier mein Ansatz:

Sub suche()
Dim seriennummer As Variant
Dim a, n, y As Integer
seriennummer = ActiveCell.Value
For n = 2 To Worksheets.Count
Worksheets(n).Activate
For Each Cell In Range("A3:A16040")
If Cell.Value = seriennummer Then
a = Cell.Row
ActiveSheet.Range(Cells(a, 1), Cells(a, 19)).Copy
Worksheets("Versuch").Activate
y = ActiveCell.Row
ActiveSheet.Paste Destination:=Range(Cells(a, 1), Cells(a, 8))
Exit Sub
End If
Next
Next
End Sub

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 10:43:47
Daniel
Hi
würde ich so machen.
1. kopiere erstmal alle Zeilen in die neue Tabelle
2. kennzeichne die die gelöscht werden müssen per Formel in einer Hilfsspalte
3. sortiere die Tabelle nach der Kennzeichnung, so dass alle zu löschenden Zeilen direkt bei einander stehen und lösche sie dann.
würde ich auch per Code so machen.
Wenn du hier per Schleife die Werte einzeln vergleichst und kopierst, mach ich das von Hand schneller als dein Makro.
würde in etwa so aussehen:
Sheets("Tabelle1").Usedrange.copy Sheets("Tabelle3").Cells(1, 1)
With Sheets("Tabelle3").UsedRange
With .columns(.Columns.Count).Offset(0, 1)
.Formula = "=IF(CountIf(Tabelle2!A:A,A1)=0,1,"""")"
.Formula = .Value
.EntireRow.Sort Key1:=.Cells(1, 1), order1:=xlascending, header:=xlno
if Worksheetfunction.sum(.Cells) > 0 Then .SpecialCells(xlcelltypeconstants, 1). _
EntireRow.Delete
.ClearContents
End With
End With

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 10:58:03
Keine
Hallo Daniel,
danke für deinen Vorschlag, aber ich versteh nur Bahnhof.. Meine Tabellen ändern sich täglich und es soll kein großer Aufwand sein diese jeden morgen zu ändern. Ich hab mir vorgestellt einfach das Makro anzuwenden und fertig.
Hoffe du kannst mir noch helfen.

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 12:23:05
Daniel
hi du ExcelProfi
ich hab doch nen Code dazugeschrieben, lies doch einfach mal den Beitrag zu Ende und hör nicht nach dem ersten Satz auf.
ausserdem solltest du ja verstehen, was DEIN Makro macht, deswegen erstmal die beschreibung dazu.
Gruß Daniel

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 11:00:40
Keine
Hallo Daniel,
danke für deinen Vorschlag, aber ich versteh nur Bahnhof.. Meine Tabellen ändern sich täglich und es soll kein großer Aufwand sein diese jeden morgen zu ändern. Ich hab mir vorgestellt einfach das Makro anzuwenden und fertig.
Hoffe du kannst mir noch helfen.

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 11:48:21
Keine
Daniel ich habs verstanden. Danke. Jetzt habe ich nur noch ein Problem. Es kann eine Nummer, die in Tabelle 1 nur einmal vorhanden ist, durchaus aber zweimal in Tabelle 2 vorkommen. Ich möchte aber das er mir dann auch beide in Tabelle 3 kopiert. Bisher kopiert er dann ja nur die an erster Stelle stehende Nummer.
Bsp:
Tabelle 1
Nummern
1
2
3
4
Tabelle 2
Nummern
1 - nur diese Zahl wird kopiert
1 - diese soll auch kopiert werden
2
3
Viele dank im Vorraus

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 12:26:19
Daniel
Hi
deiner Beschreibung nach willst du die Zeilen aus Tabelle1 kopieren, wenn der Wert aus Spalte A auch in der Tabelle2 Spalte A steht.
Wie oft der Wert in Tabelle2 vorkommt, ist doch egal, da du aus Tabelle2 nicht kopieren willst, sondern nur überprüfst, ob der Wert dort vorkommt.
Gruß Daniel

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 14:16:14
Keine
Ich möchte aber aus Tabelle 2 kopieren, habe mich wohl falsch ausgedrückt.
Ich habe das in deinem Vorschlag auch schon getauscht.
Hast du eine Lösung dafür?
Gruß

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
19.01.2015 16:11:30
Daniel
Hi
wenn du aus Tabelle2 alle Zeilen kopieren willst, dereren Werte aus Spalte A auch in Tabelle1 vorkommen, brauchst du doch nur die Tabellenblattnamen entprechend ändern.
Tabelle1 ist bei mir halt der Name des Tabellenblatts, dessen Werte kopiert werden, Tabelle2 ist der Name des Tabellenblatts, wo die Vergleichswerte zur prüfung liegen und Tabelle3 ist die Tabelle, wo die Werte hinkopiert werden.
Da ich mal davon ausgehe, dass deine Blätter andere, sprechende Namen haben, musst du den Code sowieso anpassen.
sollte ein "Profi" eigentlich selbst hinbekommen.
Gruß Daniel

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 07:35:19
Keine
Wenn ich das makro nun anwende, erscheint ein neues Fenster: "Wert aktualisieren: Tabelle 1".
Danach debuggt er mir:
If WorksheetFunction.Sum(.Cells) > 0 Then

Wo ist der Fehler?
LG

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 09:32:51
Daniel
Hi
nicht in der Programmzeile die zu mir zeigst.
vielleicht in einer Programmzeile davor, vielleicht in der Datentabelle.
lad mal die Datei hoch.
Gruß Daniel

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 09:53:44
Keine
Hey Daniel,
Fehler hatte ich gefunden. Nun Komando zurück :D
Ich möchte jetzt nicht das die gleichen Zahlen kopiert werden, sondern das nur die Zahlen kopiert werden, die in Tabelle 2 neu sind (d.h. in Tabelle 1 nicht vorhanden sind). Kannst du mir helfen?
Achja und um das mit dem Profi zu klären. Das ist mein erster Beitrag hier und ich dachte es geht um das Level meiner Frage.
Grüße

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 10:07:44
Daniel
du solltest jetzt in der Lage sein, das selber zu lösen.
du musst doch nur die Markierungsformel entsprechend anpassen.
Das kannst du auch erstmal direkt in der Tabelle machen und dann das eingeben der Formel 1x mit dem Recorder aufzeichnen, damit du siehst wie die Formel in VBA formuliert werden muss.
wenn jetzt die Zeilen kopiert werden sollen, die vorher gelöscht wurden, dann tausche einfach die 0 und Zeile() in der WENN-Formel von Wahr-Teil zum Falsch-Teil.
Gruß Daniel

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 10:10:58
Keine
Daniel ich habe eigentlich gar keine ahnung von Makros..
Wäre nett von du das machen könntest.
Grüße

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 10:21:15
Daniel
ich rede auch nicht von Makros, die du ändern musst, sondern von Formeln.
ausserdem bin ich nicht dein Dienstleister.
jetzt darfst du selber mal dein Hirn anstrengen.
In der WENN-Formel einfach den alten WAHR-Teil auf den FALSCH-Teil setzen und den alten FALSCH-Teil auf den WAHR-Teil sollte nicht so schwer sein, auch wenn im VBA-Code die Formeln in Englisch formuliert sind.
Gruß Daniel

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 10:29:46
Keine
Du würdest einfach jemanden der überhaupt keine ahnung von vba-codes hat einen Gefallen tun, weil ich es definitiv nicht hinbekomme. Es leicht zu sagen mach mal..
Es würde mir bei meiner Arbeit einfach einiges erlichtern.
Aber trotzdem danke

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 10:39:44
Daniel
Hi
ja, es ist sehr leicht zu sagen "mach mal"
selber machen ist viel schwerer, da hast du recht.
nur bist grad du derjenige der sagt: "mach mal"
Wenn du dir mit VBA die Arbeit leicher machen willst, musst du erstmal VBA lernen.
Ist halt nun mal so.
Wenn du dazu nicht bereit bist, dann kannst du das von mir beschriebene Verfahren auch von Hand anwenden. (Formel einfügen, Duplikate entfernen)
damit erledigtst du den Kopiervorgang in 2 Minuten oder weniger.
Gruß Daniel

AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 10:43:22
Keine
ja genau, ich bitte dich darum mir zu helfen, weil das wahrscheinlich keine 2 minuten arbeit für dich ist. Und ich sonst nie mehr mit vba-codes arbeiten werde.
Wäre nett wenn du mir das schnell machen könntest. Ansonsten findet sich vielleicht jemand anderes der mir helfen kann.
Gruß

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 10:53:28
Daniel
Hi
wenn du sowieso nie mehr mit VBA arbeiten musst, dann machs doch einfach von Hand.
ne formel mit ZählenWenn einzufügen, um zu prüfen welcher Wert auch in der anderne Tabelle vorkommt und welcher nicht, ist doch Basis-Excel.
Dann mit dem Autofilter die Zeilen ausblenden die noch benötigt werden und die anderen löschen.
im Code musst du wirklich nur
diese Zeile
.Formula = "=IF(CountIf(Tabelle2!A:A,A1)=0,1,"""")"
so abändern:
.Formula = "=IF(CountIf(Tabelle2!A:A,A1)=0,"""",1)"
wenn jetzt die Zeilen gelöscht werden sollen, die in deiner ersten Anfrage noch kopiert werden müssten
Warum überhaupt diese Änderung?
Gruß Daniel

Anzeige
AW: Excel Makro auf alle Zellen einer Spalte wiederhol
21.01.2015 11:09:16
Keine
Ich danke dir, war doch nicht so schwer :)
ja ich brauch beide versionen eigentlich.
-close-

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige