Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1428to1432
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 Dateien erzeugen mit VBA

Excel Dateien erzeugen mit VBA
12.06.2015 09:14:50
wizard
Hallo,
ich habe zwei Ordner A und B. Hierin sind Dateien von 1-20 enthalten die eine unterschiedliche Anzahl von Spalten haben. Jede Spalte enthält in der ersten Zeile eine Unternehmenskennummer und in der zweiten Zeile eine Wertpapierkennummer. In Ordern A und B könnten jedoch teilsweise doppelte Daten enthalten sein. Wenn man beide Datensätze zusammenfügt aus Ordern A und B zusammenfügt könnte ist in einer Datei stark vereinfach so aussehen: https://www.herber.de/bbs/user/98158.xlsx
Nun möchte ich für jedes Unternehmen eine Excel Datei erzeugen (Dateiname die Unternehmenskennummer). Die Datei soll alle Spalten enthalten die in den Dateien zu diesem Unternehmen zu finden sind und zudem Duplikate anhand der zweiten Zeile bei den Wertpapierkennummern entfernen (ganze Spalte entfernen). Wie kann ich das in VBA umsetzen? Wäre für ne Hilfe sehr dankbar.
Lg wizard

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Dateien erzeugen mit VBA
12.06.2015 09:59:56
Klexy
Das ist ganz einfach:
https://www.youtube.com/watch?v=KHO5NIcZAc4&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5

AW: Excel Dateien erzeugen mit VBA
12.06.2015 10:12:36
wizard
Könntest du mir mit nem einfachen Code weiterhelfen? Ich stoße da gerade an meine Grentzen will aber gerne nachvollziehen wie es geht um dazu zu lernen.

AW: Excel Dateien erzeugen mit VBA
12.06.2015 10:33:48
Klexy
Das ist eben kein einfacher Code, sondern eine komplexe Kombination von vielen verschiedenen Code-Elementen, die auch noch an deine speziellen Bedürfnisse angepasst werden müssen.

AW: Excel Dateien erzeugen mit VBA
12.06.2015 10:52:35
wizard
Ok dann einfacher. Nehmen wir an alle Datensätze sind in einer Datei und schon die Duplikate etnfernt. Die Unternehmenskennziffern befinden sich jetzt nicht in der ersten Zeile sondern ersten Spalte. Es soll jetzt für jedes Unternehmen eine extra Excel Datei erzeugt und gespeichert werden. Demnach alle Zeilen die in der ersten Spalte Unternehmen123 stehen haben in Datei Unternehmen123.xslx alle Zeilen die Unternehmen234 in der ersten Spalte stehen haben in Unternehmen 234.xslx usw... Optimal wäre wenn die Unternehmenskennziffern dann wieder in die erste Zeile transformiert werden also die ganze Matrix gedreht wird, muss aber nicht sein. Wie wäre hier das Vorgehen?

Anzeige
AW: Excel Dateien erzeugen mit VBA
12.06.2015 16:37:58
Klexy
Neue Datei erzeugen mit
Workbooks.Add

Zielpfad in einer Variablen festlegen
Pfad = "C\Bla\Blub\"

Dann in der Ausgangsliste das erste Unternehmen feststellen
Zeilennummer in einer Variablen festhalten, die erste Firma wird in Zeile 2 sein:
Zeile = 2

Unternehmensnamen in eine Variable aufnehmen
Unt = ActiveCell.Value

Dann die neue Datei unter dem Unternehmensnamen abspeichern
ActiveWorkbook.SaveAs FileName:=Pfad & Unt & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Dann mit einer For each-Schleife alle Zellen der ersten Spalte durchgehen und bei jedem Treffer die ganze Zeile in die neue Datei kopieren
Bei jeder Trefferzeile die Zeilennummer gegen die Zeilenvariable abprüfen. Wenn die Trefferzeile nur
1 höher ist als die Variable, dann die Variable um 1 hochzählen
Zeile = Zeile + 1

Wenn die Trefferzeile mehr als 1 größer ist als die aktuell gültige Variable, bleibt die Variable unverändert
Nach dem Ende der Schleife kann die Liste mit folgendem Code um 90 Grad gedreht werden:
 Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Dann die neue Datei speichern und schließen
ActiveWindow.Close Savechanges:=True
Dann die nächste noch nicht bearbeitete Firma feststellen. Das ist die, in der Zeile mit der Zeilennummer um 1 höher als die aktuelle Variable.
Die ganze Geschichte in einer Schleife durchlaufen lassen (Pro neuem Unternehmensnamen ein _ Schleifendurchlauf) bis die die Zeilenvariable das befüllte Ende der Spalte A erreicht hat

Do While ActiveCell  ""
Loop
Fertig.

Anzeige
AW: Excel Dateien erzeugen mit VBA
14.06.2015 17:49:39
wizard
Wie sieht der Code komplett aus? Habe es versucht, bekomme aber nen Fehler...

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige