Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makros erstellen, um Werte in andere Register zu sortieren
#1
Hallo,

Ich muss eine lange Liste an Daten in verschiedene "Register" in eine Excel-Datei sortieren.
Das bedeutet ich muss in jeder Zeile prüfen, ob:

in der Spalte C der Wert 1 steht, dann muss die komplette Zeile in das Register Nr.1.

Wenn aber in Spalte C der Wert 2 ist, dann muss die komplette Zeile in das Register Nr. 2,

wenn der Wert in der Spalte C der Wert 3 ist, dann muss die komplette Zeile in das Register Nr. 3.


Daraufhin muss in der Originaldatei geprüft werden, ob:

in der Spalte D der Wert 5 steht, dann muss die komplette Zeile in das Register Nr.1.

Wenn aber in Spalte D der Wert 2 ist, dann muss die komplette Zeile in das Register Nr. 2,

wenn der Wert in der Spalte D der Wert 3 ist, dann muss die komplette Zeile in das Register Nr. 3.

usw.

Ich habe noch keine Makros programmiert, vielleicht kann mir jemand helfen?

Vielen Dank im Voraus... :)
Antworten Top
#2
Hallo,

wenn du eine fertige Anwendung gebrauchen kannst, dann sieh dir mal meinen Listenseparator an.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Danke, aber leider kann ich keine Programme downloaden...
Antworten Top
#4
Hallo,

Zitat:Danke, aber leider kann ich keine Programme downloaden...

... hast Du eigentlich überhaupt mal geschaut, was Dir da zum Download angeboten wurde?
Das ist keine EXE-Datei sondern eine stinknormale *.xls-Datei.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Hallo, :19:

wenn du noch nie etwas mit Makros zu tun gehabt hast, wird es schwierig. Mach es doch per Formel: :21:

Code:
=WENNFEHLER(INDEX(Gesamt!A$2:A$7;AGGREGAT(15;6;ZEILE($A$2:$A$7)-1/(Gesamt!$C$2:$C$7=1);ZEILE(A1)));"")

Tabellenblattname und Bereiche natürlich noch anpassen. :21:

Hier mal ein Beispiel:

.xlsx   Tabelle_Werte_aufteilen_in_Tabellenblaetter_nach_Zahlen_Spalte_C.xlsx (Größe: 13,97 KB / Downloads: 7)

Wenn du es per VBA benötigst, dann lade mal eine (aussagekräftige) Beispieldatei hier hoch.
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Summit
Antworten Top
#6
Hallo,
Vielen Dank für die Formel und die Mühe! Das ist sehr nett. Allerdings möchte ich die Makros regelmäßig auf neuen Dateiblättern durchführen.

Deswegen bräuchte ich eine Makroprogrammierung... Sad

Ich füge mal eine Beispiel-Datei hinzu. Aber ich glaube, es ist ganz schön kompliziert... Sad

Grüße


Angehängte Dateien
.xlsx   Test.xlsx (Größe: 12,54 KB / Downloads: 9)
Antworten Top
#7
Hi,

natürlich ist das etwas "komplizierter", aber mit den richtigen Werkzeugen klappt das:

1. Flussdiagramm: abstarhiere mal dein Vorhaben und versuche, ein Schaubild aufzuzeichnen, wo alle deine "Wenns" berücksichtigt werden.
2. Schau dir "Select Case ..." an.
3. Schau dir "If ... Then ... Else" an.

Viel Erfolg.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#8
Oder verwende advancedfilter, kann handmäßig.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
Hallo,

ich habe jetzt die Bedingungen mit While, if, elseIf und else geschrieben und soweit funktioniert auch das Makro. Die Zeilen mit den Bedingungen werden in andere Reiter ("Sheets") kopiert.

Jetzt würde ich gerne alle Zeilen auf allen Sheets in einen anderen Reiter kopieren.

Wisst ihr vielleicht, wie das geschrieben werden kann?

Und wohin muss es geschrieben werden?

Muss es z. B. vor "End if" geschrieben werden? =>
Else: Sheets("a").Rows(i).Copy Destination:=Sheets("w").Rows(i)
              
End If
i = i + 1
Wend
End Sub

Danke!!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste