.xls Exel Datei Splitten nach Kundennummer mit batch

Mitglied: Underdog81

Underdog81 (Level 1) - Jetzt verbinden

17.08.2011, aktualisiert 11:50 Uhr, 6036 Aufrufe, 15 Kommentare

Mir wurde schon viel geholfen hier im Forum und ich würde gerne mehr über verschiedene möglichkeiten lernen um nicht ständig zu fragen.
Doch leider muss ich wieder nerven :-( face-sad

Hallo an alle die diesen Beitrag lesen und im besten Fall auch noch hilfreich sein kann.


Es geht um eine .xls Datei die in verschiedenen Dateien aufgelistet werden muss.
Hier soll er dann die Kundennummer der Spalte A nehmen, um eine neue Datei anzulegen (gerne eine .xls)
Als Bezeichnung der neuen Datei soll er dann den Inhalt der Spalte B nehmen.
Die restlichen Spalten soll er so in die neue Datei Schreiben und die Spalte A und B eben Weglassen.
In Zeile 1 soll er dann in jeder Datei Artikelnummer, Bezeichnung und Menge anzeigen.
cih weiss nicht ob es wichtig ist aber einige Artikelnummern fangen mit einem Buchstaben an. (nicht alle)

Hier ein Beispiel des Aufbau der Exportierten Datei.

A B C D E
1 Kundennummer Kunde Artikelnummer Bezeichnung Menge
2 12345 12345 Hans Wurst, Wohnort 12309 Zucker 150
3 12345 12345 Hans Wurst, Wohnort 8520 Ball 10
4 67890 67890 Max Mustermann, Wohnort G1234 Limoade 900
5 67890 67890 Max Mustermann , Wohnot 222111 Beton 1


Ich habe leider keinen Plan obdas mit Batch geht, sorry.
Aber ich bin guter Dinge hier hilfe zu bekommen.

Hier eine besser Ansicht

a250f9994bc69a6b9d3974e38e34cd5b - Klicke auf das Bild, um es zu vergrößern
Mitglied: bastla
17.08.2011 um 11:33 Uhr
Hallo Underdog81 (wie Du siehst, ist eine Begrüßung gar nicht so schwierig)!

Wenn Du jetzt auch noch das gewünschte Ergebnis darstellst, sollten alle Klarheiten beseitigt sein ... ;-) face-wink

Grüße (geht auch ganz leicht)
bastla
Bitte warten ..
Mitglied: Underdog81
17.08.2011 um 11:47 Uhr
Klar gehört sich eine nette Berüßung ;-) face-wink hatte ich leider vergessen :-( face-sad ( editiert im ersten Beitrag)

Nun zu dem Ergebnis............
Spalte A soll er nur zum identifizieren nutzen und dann löschen

Datei 1 hat den Namen "hans wurst, wohnort" und der Inhalt ist alles an Spalten nach B.
Datei 2 hat den gleichen inhaltsaufbau aber den namen " max mustermann, wohnort".

Bild kommt gleich...


Diese Ansicht wäre dann die Datei mit dem namen "hans wurst, wohnort"
33a5d19a3cf7051861e56988a1ae7597 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: Skyemugen
17.08.2011 um 12:13 Uhr
Aloha,

Frage: .xls-Zwang? Oder könntest du auch mit .csv arbeiten? Denn Ersteres dürfte wohl nur mit VBS umsetzbar sein und Letzteres auch mit Batch.

greetz André
Bitte warten ..
Mitglied: Underdog81
17.08.2011 um 12:16 Uhr
Mir wäre am liebsten eine .xls wegen der Tabellenansicht.
Denn es soll später gegebenfalls ausgedruckt werden um diese den Kunden zu übergeben.
Bitte warten ..
Mitglied: bastla
17.08.2011 um 17:26 Uhr
Hallo Underdog81!

Dann versuch es mit folgendem VBA-Script:
Vorausgesetzt habe ich, dass alle Kundennamen sich unterscheiden und somit kein Dateiname doppelt vorkommt - sicherer wäre (als Zeile 29)
Grüße
bastla
Bitte warten ..
Mitglied: Underdog81
17.08.2011 um 17:40 Uhr
boaa das ist ja eine mega Datei!!!
ich teste es gleich mal aus.
Die Kundennamen sind definitiv immer anders, da die Kundennummer jetzt in der Datei auch imk Feld Kunde anführend drin steht.

Ich danke schon mal
Underdog81
Bitte warten ..
Mitglied: Underdog81
17.08.2011 um 21:50 Uhr
Syntaxfehler
zeile1 Zeichen 8....
also das B von Base in der ersten Zeile??
Bitte warten ..
Mitglied: bastla
17.08.2011 um 21:58 Uhr
Hallo Underdog81!

Welche Excel-Version verwendest Du? In der 2007er funktioniert die Zeile ...

Grüße
bastla
Bitte warten ..
Mitglied: Underdog81
17.08.2011 um 22:02 Uhr
ne leider ist es die 2003er Version

Gibt es hier so extreme unterschiede?
hoffe mal, dass es dennoch irgendwie geht.
Dumm nur, dass die Suchmaschiene mit dem G nix ausspuckt.
Bitte warten ..
Mitglied: bastla
17.08.2011 um 22:03 Uhr
Hallo Underdog81!

Lass die erste Zeile weg und ändere die (derzeitige) Zeile 16 auf
Grüße
bastla
Bitte warten ..
Mitglied: Underdog81
17.08.2011 um 22:13 Uhr
Hab ich gemacht aber jetzt kommt der nächste Fehler
Zeile3 Zeichen21
fehler `=` erwatet
Bitte warten ..
Mitglied: bastla
17.08.2011 um 22:19 Uhr
Na schön, dann hangeln wir uns weiter ...

Tausche den ersten Teil gegen
aus ...

Grüße
bastla

[Edit] Zeile 7 angepasst [/Edit]
Bitte warten ..
Mitglied: Underdog81
17.08.2011 um 22:35 Uhr
hmmm.. nun bekomme ich keine Fehlermeldung und es passiert nix...? :-( face-sad
Bitte warten ..
Mitglied: Underdog81
22.08.2011 um 09:19 Uhr
So nun läuft es und ich will euch auch verraten wie ;-) face-wink

Erst mal ein Danke an Bastla der mir über gut geholfen hat.

Ich öffne also Excel und gehe unten auf Tabelle1 und mache einen rechtsklick. Hier wähle ich Code anzeigen aus!
Dann öffnet sich Visual Basic. Dort wähle ich "Diese Arbeitsmappe" mit doppelklick aus.

Jetzt füge ich noch folgendes hinzu in dem rechten Feld.
Alles was zwischen den ## und den ### steht steht oben schon.



Nun speichern wir alles ab und schliessen das ganze einmal.
Beim nächsten öffnen kommt die Frage ob makros aktiviert werden sollen. Wähle jetzt Ja aus und er fängt an die Datei zu splitten.
Sollte die Abfrage nicht kommen geh auf "Extras-Makro-Sicherheit" Sicherheitsstufe auf Mittel setzen.

[Edit Biber] Codefomatierung, falls zu den einen oder anderen Zeilennummern noch Anmerkungen kommen sollten. [/Edit]
Bitte warten ..
Mitglied: bastla
22.08.2011 um 15:29 Uhr
Hallo Underdog81!

Schön, wenn es funktioniert :-) face-smile - das tut es (ohne Fehlermeldungen) aber sicher nur, wenn sich nur eine einzige Datei im Ordner "C:\Ordner_der_zu_bearbeitenden_Datei" befindet; anderenfalls würde jede "Const"-Zeile (Zeilen 20 bis 28) einen Fehler bewirken ...

Wenn es aber nur um eine einzelne Datei geht, sind die beiden Schleifen (Zeilen 13 und 15) zu hinterfragen - dort wird nämlich festgelegt, dass alle der (per "Array" in Zeile 13) angegebenen Ordner (ist aber nur einer ;-) face-wink) bearbeitet werden sollen, bzw dass der folgende Code auf alle sich in diesen Ordnern befindlichen ".xls"-Dateien angewendet werden soll (wobei Letzteres tatsächlich aber auch für eine einzelne Datei sinnvoll sein kann, wenn deren Name nicht konstant ist). Jedenfalls wären aber die Zeilen 19 bis 32 vor der Zeile 13 zu platzieren.
Dass der Kommentar in der Zeile 11 nicht dem davor stehenden Befehl entspricht, ist zu vernachlässigen (wenngleich dieser Befehl aber eigentlich nur mit einem "False" Sinn ergäbe; ansonsten könntest Du diese Zeile zusammen mit Zeile 70 entsorgen) ...
Noch kurz (für Interessierte) zur Erklärung, warum die beschriebene Vorgangsweise gewählt wurde: Da die zu bearbeitende Datei regelmäßig (per Export) neu erstellt wird, kann das Script nicht in dieser Datei selbst gespeichert werden - als Alternative blieben dann nur die "Persönliche Makroarbeitsmappe" oder eben das (hier verwendete) Ablegen in einer weiteren Excel-Datei ...

Grüße
bastla

P.S.: Thx @Biber (und dass der Konjunktiv nicht ernst gemeint war, ist auch klar ;-) face-wink)
Bitte warten ..
Heiß diskutierte Inhalte
MikroTik RouterOS
Simples VLAN bringt mich zur Verzweiflung
gelöst Daniel26Vor 1 TagFrageMikroTik RouterOS30 Kommentare

Moin, ich bin sehr neu im Mikrotik-Bereich, aber schon dabei, aufzuegeben. Wir verbauen in unserer Hardware Switche von Mikrotik. Bisher waren da Netgear-Teile drin, ...

Microsoft
STRG + ALT + ENTF
TezzlaVor 1 TagAllgemeinMicrosoft12 Kommentare

Mahlzeit zusammen, wir haben gerade im Kollegenkreis über Sinn und Unsinn der Sperrbildschirmentriegelung STRG + ALT + ENTF unter Win10 diskutiert. Mich würde hierzu ...

Video & Streaming
Streamingplattform mit eigenen Servern
gelöst icegetVor 1 TagFrageVideo & Streaming6 Kommentare

Hallo liebe Community, ich würde gerne via Amazaon AWS (oder andere Cloudanbietern) mehrere Serverinstanzen (Streaming) starten, um z.B. 2000 Personen den selben Stream den ...

Hardware
Outdoor LAN sichern mit oder ohne Fritzbox Verständnis Frage
bluescreenVor 1 TagFrageHardware14 Kommentare

Hallo zusammen, ich habe die letzten Stunden schon viel hier gelesen, stehe aber ein wenig auf dem Schlauch, wie und wo ich weiter suchen ...

Windows Server
Nutzer als lokaler Admin in Windows Server 2019
hanheikVor 1 TagFrageWindows Server6 Kommentare

Hallo, in SBS 2011 konnte ich ganz einfach einen Nutzer als lokalen Admin einstellen. Windows fragte dann, für welchen Rechner; Rechner auswählen; fertig! In ...

Windows Netzwerk
Telefone im Netzwerk bekannt machen
jannik0205Vor 19 StundenFrageWindows Netzwerk13 Kommentare

Hallo Zusammen, In unserem Unternehmen gibt es eine Telefonanlage mit eigenem Telefonienetz (192.168.5.X). Schließe ich ein Telefon an eine Netzwerkdose, bekommt es vom DHCP- ...

Switche und Hubs
Zwei Lancom GS-315XP Switche VLAN verbinden
wieoderwasVor 1 TagFrageSwitche und Hubs14 Kommentare

Hallo zusammen, wir haben zwei neue Lancom GS-315XP Switche bekommen. An einem dieser Switche sind Lancom Accesspoints angeschlossen. Ich verzweifel gerade an der Verbindung ...

Datenschutz
Übergang von "Sorgfaltspflicht" im Datenschutz
ukulele-7Vor 1 TagFrageDatenschutz7 Kommentare

Hallo zusammen, mir ist eine, zugegeben eher juristische, Frage in den Sinn gekommen. In unserer Branche arbeiten wir mit sensiblen, personenbezogenen Daten die natürlich ...