Schnelle Unterstützung bei Excel-Makro
Hallo,
wie geht es euch? Kann mir jemand helfen?
1. Eine Tabelle A bis D und mehere Textzeilen 1 bis 20. Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C" wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" und
alle "B" aus Tabelle 1 (gesamte Zeile) in Tabelle 2 kopiert werden. Sortiert nach A und B. Alle Begriffe "C" in Tabelle 3 kopiert werden.
2. Die Tabelle 2 sollen dann nach bestimmten Begriffen "*Test1*" und "*Test2*" Zeile für Zeile durchsucht und gelöscht werden.
Ich hoffe, dass die Beschreibung einigermaßen verständlich geschrieben ist.
Vielen Dank im Voraus . . .
Hallo,
wie geht es euch? Kann mir jemand helfen?
Hier die Daten . . .
Tabelle1
A B C D
1 Büro 3631 fuermichseite
2 Aktuelles 2574 fuermichseite1
3 Bank 2366 fuermichseite
4 Haus 1795 fuermichseite1
5 Schrank 1156 fuermichseite1
6 Aktuelles 1140 fuermichseite
7 Test 677 fuermichseite2
8 Test 611 fuermichseite2
9 Test 594 fuermichseite3
Ergebnis Tabelle2
A B C
Büro 3631 fuermichseite
Bank 2366 fuermichseite
Aktuelles 1140 fuermichseite
Aktuelles 2574 fuermichseite1
Haus 1795 fuermichseite1
Schrank 1156 fuermichseite1
Und hier die Beschreibung . . .
Suche aus der Tabelle1 alle Begriffe "*seite" und kopiere diese Zeilen ohne Spalte A in die 2. Tabelle.
Wenn alle Begriffe "seite" kopiert wurden dann suche nach dem Begriff "*seite1"
und kopiere diese auch in die 2. Tabelle in die erste freie Zeile nach dem Begriff "seite".
Vielen Dank für die Unterstützung!!!
wie geht es euch? Kann mir jemand helfen?
1. Eine Tabelle A bis D und mehere Textzeilen 1 bis 20. Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C" wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" und
alle "B" aus Tabelle 1 (gesamte Zeile) in Tabelle 2 kopiert werden. Sortiert nach A und B. Alle Begriffe "C" in Tabelle 3 kopiert werden.
2. Die Tabelle 2 sollen dann nach bestimmten Begriffen "*Test1*" und "*Test2*" Zeile für Zeile durchsucht und gelöscht werden.
Ich hoffe, dass die Beschreibung einigermaßen verständlich geschrieben ist.
Vielen Dank im Voraus . . .
Hallo,
wie geht es euch? Kann mir jemand helfen?
Hier die Daten . . .
Tabelle1
A B C D
1 Büro 3631 fuermichseite
2 Aktuelles 2574 fuermichseite1
3 Bank 2366 fuermichseite
4 Haus 1795 fuermichseite1
5 Schrank 1156 fuermichseite1
6 Aktuelles 1140 fuermichseite
7 Test 677 fuermichseite2
8 Test 611 fuermichseite2
9 Test 594 fuermichseite3
Ergebnis Tabelle2
A B C
Büro 3631 fuermichseite
Bank 2366 fuermichseite
Aktuelles 1140 fuermichseite
Aktuelles 2574 fuermichseite1
Haus 1795 fuermichseite1
Schrank 1156 fuermichseite1
Und hier die Beschreibung . . .
Suche aus der Tabelle1 alle Begriffe "*seite" und kopiere diese Zeilen ohne Spalte A in die 2. Tabelle.
Wenn alle Begriffe "seite" kopiert wurden dann suche nach dem Begriff "*seite1"
und kopiere diese auch in die 2. Tabelle in die erste freie Zeile nach dem Begriff "seite".
Vielen Dank für die Unterstützung!!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 147480
Url: https://administrator.de/forum/schnelle-unterstuetzung-bei-excel-makro-147480.html
Ausgedruckt am: 25.12.2024 um 19:12 Uhr
14 Kommentare
Neuester Kommentar
Ich auch.
Vielleicht erläuterst du etwas den Kontext oder gibst mal ein konkretes Beispiel.
Gruß
LotPings
Ich habe zwei Probleme:
Glaub ich nicht, werden mehr sein.1. Eine Tabelle A bis D und mehere Textzeilen 1 bis 20. Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem
Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C"
wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" und
alle "B" aus Tabelle 1 (gesamte Zeile) in Tabelle 2 kopiert werden. Sortiert nach A und B. Alle Begriffe
"C" in Tabelle 3 kopiert werden.
2. Die Tabelle 2 sollen dann nach bestimmten Begriffen "*Test1*" und "*Test2*" Zeile für Zeile durchsucht
und gelöscht werden.
Ich hoffe, dass die Beschreibung einigermaßen verständlich geschrieben ist.
Nö.Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C"
wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" und
alle "B" aus Tabelle 1 (gesamte Zeile) in Tabelle 2 kopiert werden. Sortiert nach A und B. Alle Begriffe
"C" in Tabelle 3 kopiert werden.
2. Die Tabelle 2 sollen dann nach bestimmten Begriffen "*Test1*" und "*Test2*" Zeile für Zeile durchsucht
und gelöscht werden.
Ich hoffe, dass die Beschreibung einigermaßen verständlich geschrieben ist.
Vielleicht erläuterst du etwas den Kontext oder gibst mal ein konkretes Beispiel.
Gruß
LotPings
[OT]
Hallo LotPings!
In diesem Fall, bin ich voll Deiner Meinung und bei dem Wort "schnell" bekomme ich fast immer Magenschmerzen. Da ist mir Schreien doch lieber
Gruß Dieter
[/OT]
Hallo LotPings!
In diesem Fall, bin ich voll Deiner Meinung und bei dem Wort "schnell" bekomme ich fast immer Magenschmerzen. Da ist mir Schreien doch lieber
Gruß Dieter
[/OT]
Ja nee, matester,
Natürlich wissen hier alle it-frösche und sonstigen Tiernamen, dass du hier Hilfe suchst, weil du momentan allein da nicht weiterkommst.
Da sieht auch keiner ein Problem, denke ich. Das geht uns allen so auf manchen Gebieten. Und manchen auf allen Gebieten.
Du bist aber nicht damit ins Fettnäpfchen getreten, sondern mit der Eröffnung:
An dieser Stelle haben die meisten andere Plaudereibeginner stehen
Das zweite, was zu Recht auf Unverständnis stiess ist die "Beispielbeschreibung".
Ja hey! - die meisten von uns arbeiten mehr als 10 Minuten täglich mit und in konkreten Unternehmensprozessen.
Auch mit Excel.
Da komm doch nicht mit "Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C"wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" ...
Sag doch, am besten mit 5 Zeilen aus der Excel-Tabelle "Standzeiten" oder wie immer "Tabelle 1" nun heißen mag,
Ist doch nicht gegen dich gerichtet - aber wir brauchen doch sonst mehr Zeit zum Immer-wieder-nachfragen als zum Lösen.
Grüße
Biber
Zitat von @matester:
Hallo IT-Frosch,
wenn ich dazu selber in der Lage wäre, hätte ich bestimmt nicht nach Deiner Hilfe bzw. Unterstützung gerufen!!!
Nix vermischen jetzt.Hallo IT-Frosch,
wenn ich dazu selber in der Lage wäre, hätte ich bestimmt nicht nach Deiner Hilfe bzw. Unterstützung gerufen!!!
Natürlich wissen hier alle it-frösche und sonstigen Tiernamen, dass du hier Hilfe suchst, weil du momentan allein da nicht weiterkommst.
Da sieht auch keiner ein Problem, denke ich. Das geht uns allen so auf manchen Gebieten. Und manchen auf allen Gebieten.
Du bist aber nicht damit ins Fettnäpfchen getreten, sondern mit der Eröffnung:
Ich benötige schnelle Hilfe!!!
Ich habe zwei Probleme:
Ich habe zwei Probleme:
An dieser Stelle haben die meisten andere Plaudereibeginner stehen
Hallo,
wie geht es euch? Kann mir jemand bei {whatever} helfen?.
ohne ähnliches.wie geht es euch? Kann mir jemand bei {whatever} helfen?.
Das zweite, was zu Recht auf Unverständnis stiess ist die "Beispielbeschreibung".
Ja hey! - die meisten von uns arbeiten mehr als 10 Minuten täglich mit und in konkreten Unternehmensprozessen.
Auch mit Excel.
Da komm doch nicht mit "Ich benötige ein Makro, was die Tabelle 1 in jeder Zeile nach einem Begriff "A" der in der Spalte D vorhanden ist,
durchsucht und wenn die letzte leere Zelle erreicht wurde nach einem 2. Begriff "B" und 3. Begriff "C"wieder Zeile für Zeile durchsucht. Dabei sollen alle "A" ...
Sag doch, am besten mit 5 Zeilen aus der Excel-Tabelle "Standzeiten" oder wie immer "Tabelle 1" nun heißen mag,
- was sind die Daten, mit denen ich loslaufe
- was ist die Verarbeitungsregel
- wie soll das Ergebnis aussehen.
Ist doch nicht gegen dich gerichtet - aber wir brauchen doch sonst mehr Zeit zum Immer-wieder-nachfragen als zum Lösen.
Grüße
Biber
Hallo matester!
Wäre noch die Frage zu klären, wie die Suchbegriffe gehandhabt werden sollen. Per InputBox abfragen (z.B. durch Komma getrennt)? oder als konstante Werte? oder alle Begriffe mit Seite (nach Seite sortiert)...?
Gruß Dieter
Wäre noch die Frage zu klären, wie die Suchbegriffe gehandhabt werden sollen. Per InputBox abfragen (z.B. durch Komma getrennt)? oder als konstante Werte? oder alle Begriffe mit Seite (nach Seite sortiert)...?
Gruß Dieter
Hallo matester!
Mhm, interessanter Code
Und hier meine Interpretation zum vorigen Beispiel Tabelle1 Spalte B:D, mit Suchbegriffe in Spalte D, kopieren nach Tabelle2 Spalte A:C und sortieren nach Spalte C-A-B:
Gruß Dieter
Mhm, interessanter Code
Und hier meine Interpretation zum vorigen Beispiel Tabelle1 Spalte B:D, mit Suchbegriffe in Spalte D, kopieren nach Tabelle2 Spalte A:C und sortieren nach Spalte C-A-B:
Option Explicit
Option Compare Text
Const Sheet1 = "Tabelle1" 'Tabellenname Tabelle 1
Const Sheet2 = "Tabelle2" 'Tabellenname Tabelle 2
Const TitelZeile = 2 'Überschriftzeile
Const StartZeile = 3 'Daten ab Zeile ?
Sub KopierenUndSortieren()
Dim Suchbegriffe, Wks1 As Worksheet, Wks2 As Worksheet, c As Range, AktuelleZeile As Long, i As Integer
Suchbegriffe = Array("AQ", "TE", "GR")
Set Wks1 = Sheets(Sheet1): Set Wks2 = Sheets(Sheet2)
AktuelleZeile = StartZeile
Wks2.Cells.Clear
With Wks1
For Each c In .Range("D:D")
For i = 0 To UBound(Suchbegriffe)
If c Like Suchbegriffe(i) Then
Range(.Cells(c.Row, "B"), .Cells(c.Row, "D")).Copy Wks2.Cells(AktuelleZeile, "A")
AktuelleZeile = AktuelleZeile + 1: Exit For
End If
Next
Next
End With
With Wks2
.Cells(StartZeile, "A").CurrentRegion.Sort _
Key1:=.Cells(StartZeile, "C"), Key2:=.Cells(StartZeile, "A"), Key3:=.Cells(StartZeile, "B")
Range(Wks1.Cells(TitelZeile, "B"), Wks1.Cells(TitelZeile, "D")).Copy .Cells(TitelZeile, "A")
End With
End Sub
Sub SuchenUndLoeschen()
Dim Suchbegriffe, EndLine As Long, i As Long, a As Integer
Suchbegriffe = Array("AQ", "TE")
With Sheets(Sheet2)
EndLine = .Cells(.Rows.Count, "C").End(xlUp).Row
For i = StartZeile To EndLine
If i > EndLine Then Exit For
For a = 0 To UBound(Suchbegriffe)
If .Cells(i, "C") Like Suchbegriffe(a) Then
.Rows(i).Delete: i = i - 1: EndLine = EndLine - 1: Exit For
End If
Next
Next
End With
End Sub
Gruß Dieter
Hallo matester!
Danke für die Blumen
Vielen Dank für Deine Unterstützung!!!
Gern geschehen
Gruß Dieter
Danke für die Blumen
Das ist genau, was ich gesucht habe. Das sind 100 Punkte für Dich!!!
Und wo kriege ich jetzt die Waschmaschine Vielen Dank für Deine Unterstützung!!!
Gruß Dieter