Dateinamen und Artikelanzahl in eine Datei ausgeben

Mitglied: Heiltor

Heiltor (Level 1) - Jetzt verbinden

12.02.2016 um 20:26 Uhr, 1511 Aufrufe, 13 Kommentare, 1 Danke

Hallo an alle! Ich bin hier neu, es ist mein erster Schrei nach Hilfe. Ich fange gerade an, VBA für die Arbeit zu lernen. Leider habe ich niemanden der mir helfen kann, wenn ich nicht weiter komme. Bei Excel selber bin ich sehr gut und helfe gerne meinen Kollegen. Bei VBA brauche ich noch so viel Hilfe!
Wir bekommen demnächst 39 Dateien, die z.B. Auflistung von Artikeln beinhalten (ich glaube die Artikelnummer steht gleich in der Spalte A). Ich möchte in einer anderen Datei alle Dateinamen und die entsprechende Artikelanzahl bekommen. Erste Spalte Dateiname (ohne den Pfad), nächste Spalte Anzahl von Artikeln. (Jede Datei wird bestimmt eine Überschriftszeile haben, falls man die Zeilen zählen soll) Die Dateien würde ich in einem bestimmten Ordner speichern. Dort kann auch die Ergebnisdatei gespeichert werden. Brauche ich dafür ein Makro.
Mitglied: colinardo
14.02.2016, aktualisiert um 16:49 Uhr
Hallo @Heiltor, Willkommen auf Administrator.de!
Kein Problem und schnell gemacht.

Speichere den Code in einem Excel-Sheet und speichere es mit der Endung *.xlsm. Dann packst du alle deine *.xlsx Dateien deren Artikel du in Spalte A zählen willst in den selben Ordner. Dann kannst du den Code im Makrosheet ausführen.
Weitere Kommentare findest du im Code für die essentiellen Codezeilen):
Grüße Uwe
Bitte warten ..
Mitglied: Heiltor
14.02.2016 um 20:00 Uhr
Vielen lieben Dank! Bin begeistert! Sonst jubeln die Leute wenn ich ihnen etwas im Excel mit Formel einrichte. Jetzt sitze ich selber da und staune.
Mit diesen Dateien wird man weitere Sachen machen müssen. Ich hoffe ich kann gut erklären und bekomme auch wieder (irgendwann) Hilfe. (es ist nicht unbedingt für morgen!)
Jede von den 39 Dateien hat einen Namen (Ges.Nr.) und drin stehen die Artikel, die die Ges. im Sortiment hat. Fürs Endergebnis braucht man zuerst die Filialen die zu jeweiligen Ges. gehören! Dann sollen in jeder von den Dateien (z.B. in einem neuenTabellenblatt) in Spalte A die Filialen der entsprechenden Ges. untereinander stehen und daneben die Artikelnummern aus dieser Datei. Sprich zuerst die erste Filiale so viel mal wieviele Artikel es gibt, daneben die Artikel untereinander, dann nächste Filiale und wieder daneben die Artikel. Eine Stammdatei mit den Ges. und dazugehörenden Filialen gibt es. Diese kann woanders gespeichert werden, oder auch im gleichen Ordner wie das Makro und die .xlsx Dateien. Das heißt das Makro öffnet die erste Datei, schaut nach dem Namen der Datei (Ges.-Nr.) und dann filtert in der Stammdatei in der Spalte B diese Nummer (muss aber die Nummer erkennen können, weil in dem ersten Makro von dir kommt als Name z.B. 202.xlsx) Nach dem Filtern erscheinen in der Spalte A die entsprechenden Filial.Nr.
Ob die Dateien am Ende in eine Datei zusammenkopiert werden oder nicht, weiß ich noch nicht. Aber das soll schon kein Problem für mich sein.
Die 39 Dateien dürfen mit den Änderungen gespeichert werden.
Bitte warten ..
Mitglied: BirdyB
14.02.2016 um 20:04 Uhr
Hallo Heiltor,

wenn du diese ganzen Daten in unterschiedlichen Zusammenstellungen öfter benötigst, solltest du vielleicht mal über eine Datenbank nachdenken...
Per SQL bekommst du deine Daten dann sehr schnell in vielen Variationen zusammengestellt, wie du es benötigst.

Beste Grüße!


Berthold
Bitte warten ..
Mitglied: Heiltor
14.02.2016 um 20:24 Uhr
Das ist wahr. Kann ich mir sehr gut vorstellen. Leider habe ich früher Daten aus einer Datenbank mit Microsoft Acces nur runtergeladen. Keine Ahnung wie ich die Dateien in eine Datenbank hochladen soll. Ich mache es gerne diesmal mit Makro, weil ich es lerne möchte. Wir arbeiten sehr viel mit Excel, und obwohl ich keine Probleme mit Formel, Pivots usw. habe, mit Makro gehts manchmal schneller. Und vor allem sicherer, wenn du es Leute machen lässt, die einfach kein Händchen für Excel haben.
Bitte warten ..
Mitglied: colinardo
15.02.2016, aktualisiert um 12:18 Uhr
Hallo Heiltor,
Mit diesen Dateien wird man weitere Sachen machen müssen.
ja ja, kaum reicht man einem den Finger nehmen sie immer gleich die ganze Hand ;-) face-wink, wie immer hier ...

Eine Frage: In den Dateien der Gesellschaften, wo steht dort die Nummer der Filiale und die Artikel (Artikel in Spalte A und Filialnummer in Spalte B ?). Ich interpretiere also das in jedem Sheet die Artikel aller Filialen dieser Gesellschaft untereinander aufgelistet sind, ist das Korrekt?

Am einfachsten du postest einfach mal ein Demo-Sheet, oder nutzt die vielfältigen Formatierungsmöglichkeiten hier im Forum. Merci.

Aber der Grund warum du die Filialen und deren Artikel erneut auflisten willst erschließt sich mir nicht, wenn sie doch schon im ersten Sheet stehen und sich alle Artikel einer Filiale mit dem AutoFilter komfortabel auswählen lassen. Außerdem geht sowas auch mit einer Matrix-Formel ;-) face-wink
Bitte warten ..
Mitglied: Heiltor
15.02.2016, aktualisiert um 17:27 Uhr
Es geht darum, dass es 39 Dateien sind, jede für eine Ges., dort stehen aber nicht die Filialen. Man müsste also jede Datei öffnen, die entsprechenden Filialnummer aus der Stammdatei holen, und so die Daten zusammenkopieren, dass für jede Filiale dieser Ges. (Spalte A) alle Artikel in der Spalte B stehen. Sprich wenn es 300 Artikel im Sortiment gibt, dann muss jede Filiale 300 mal untereinander stehen, jedesmal mit anderem der 300 Artikel nebendran. Die Matrixformel kenne ich. Es geht um die Menge der Dateien, in jeder muss das gleiche gemacht werden. Am Ende wird die Datei (oder Dateien) in eine Datenbank hochgeladen. Es muss für jede Filiale ein Datensatz mit dem in der Filiale vorkommenden Artikel geben.
Und ja, in jeder Ges.-Datei stehen ursprünglich Artikel die in jeder Filiale dieser Ges. vorkommen.
Bitte warten ..
Mitglied: colinardo
15.02.2016, aktualisiert um 17:56 Uhr
Zitat von @Heiltor:

Es geht darum, dass es 39 Dateien sind, jede für eine Ges., dort stehen aber nicht die Filialen.
Das ist schon klar, die stehen in der Stammdatei, aber wie sind die Daten in den Sheets der Gesellschaften organisiert, also nicht die neu zu schreibenden Daten sondern die vorhandenen ? das war meine eigentlich Frage. Stehen dort die Artikel in Spalte A und die Filialen in Spalte B, oder umgekehrt?

Na ja egal, das kannst du ja in der unten verlinkten Demo selber anpassen.

Hier mal ein Demo-Package nach deiner Beschreibung
demo_package_296045.zip

Benötigst du noch mehr Hilfestellung kannst du mich gerne via PM kontaktieren. Dieser Support ist dann jedoch nicht mehr kostenlos.

Viel Erfolg
Grüße Uwe

Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.

Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Bitte warten ..
Mitglied: Heiltor
15.02.2016 um 18:02 Uhr
Vielen Dank.
Im Ordner Daten sind zwei Ges.-Dateien, aber warum stehen da schon die Filialen? Das ist das Problem. Wenn die Dateien kommen werden, werden dort nur die Artikel in der Spalte A (oder so) stehen, aber keine Filialen, man weiß nur aus welcher Ges. die Datei kam. Anhand von der Ges.-Nr. (als Name der Datei) muss man erst die dazugehörigen Filialen aus der Stammdatei (und zwar alle) holen. So was, dass es keine Artikel in einer Filiale gibt, gibt es nicht.
Filiale Artikel
555 123
555 234
555 456
777 567
777 678
777 789
888 789
888 890
999 Keine Artikel

Gruß
Bitte warten ..
Mitglied: colinardo
15.02.2016, aktualisiert um 18:13 Uhr
Im Ordner Daten sind zwei Ges.-Dateien, aber warum stehen da schon die Filialen? Das ist das Problem.
Versteh dich leider immer noch nicht. Naja man hätte auch einfach mal ein zwei Demo-Sheets posten können dann wäre das Missverständnis erledigt gewesen..:-( face-sad aber anhand der Code-Kommentare für jede Zeile kannst du es ja mal nachvollziehen und mit dem Debugger Schritt für Schritt durchlaufen lassen, dann kannst du es dir anpassen. Du willst ja was davon lernen, also studiere die im Code angewendeten Techniken einfach erst mal.

Als Ergänzung die Referenzen zu den verwendeten Funktionen:
VBA/VBS/WSH/Office Developer Referenzen

Grüße und viel Erfolg beim Lernen
Uwe
Bitte warten ..
Mitglied: Heiltor
15.02.2016 um 18:28 Uhr
Artikel-Nr. Warengruppe andere Eigenschaften
123
234
456
567
678
789
789
890
So sieht eine Datei aus. Mehrere Spalten, mich interessiert die Artikelnummer. Die Filialnummern stehen hier gar nicht! Die Datei hat den Namen der Ges. Die Filialen muss man erst aus der Stammdatei holen, und zwar alle, nicht nur 3 von 4. Du hast in der Ursprungsdatei der Ges. 5678 3 Filialen stehen. Aber in der Stammdatei gibt es für die Ges. 5678 4 Filialen. Und so am Ende stand es für eine Filiale dass es keine Artikel dort gibt. Einfach die Spalte Filialnummer (in der Ges.-Datei mit den Artikeln) weglassen. Die Artikel die in der Ges.-Datei stehen müssen mit den Filialen der entsprechenden Ges. aus der Stammdatei gepaart werden. Die Stammdatei von Dir ist korrekt. Hier steht die Ges-Nr. und die Filialen. Please!
Bitte warten ..
Mitglied: colinardo
15.02.2016, aktualisiert um 18:34 Uhr
Die Artikel die in der Ges.-Datei stehen müssen mit den Filialen der entsprechenden Ges. aus der Stammdatei gepaart werden.
Wird ja im Makro gemacht. Also bitte wenn du was lernen willst dann musst du auch was dafür tun, von selbst kommt da nichts, sorry. Das ist hier ja kein Wunschkonzert.
Und so am Ende stand es für eine Filiale dass es keine Artikel dort gibt
Das ist ja auch laut den Demo-Artikeldaten korrekt ;-) face-wink. Ein Fall den man abfangen muss.

Ciao.
Bitte warten ..
Mitglied: Heiltor
15.02.2016 um 18:43 Uhr
Wenn die Datei kommt, gibt es die Spalte mit Filiale nicht, aber Du hast sie schon am Anfang eingefügt, so wie unten. Warum steht sie bei Dir schon da? Wenn ich sie lösche weiß Makro nicht welche Filialen es sind. Und darum geht es. Die Filialen muss das Makro erst selber finden, sonst braucht man die Stammdatei nicht. Die Datei heißt 5678. Diese Nr. muss das Makro in der Stammdatei suchen, und für jede Ges. 5678 die dazugehörigen Filialen mit jedem Artikel paaren.
Artikel Filiale
123 111
234 222
456 111
567 222
678 111
789 111
789 444
890 444
Bitte warten ..
Mitglied: colinardo
15.02.2016, aktualisiert um 19:48 Uhr
Die Artikel die in der Ges.-Datei stehen müssen mit den Filialen der entsprechenden Ges. aus der Stammdatei gepaart werden
Aber anhand welchen Merkmals ?????? Wenn ich 4 Filialen in einer Gesellschaft habe zu welcher soll dann ein Artikel zugeordnet werden???
In meinem Code siehst du wie in ein Dictionary die Stammdaten eingelesen werden und zwar für jede Gesellschaft werden alle Filialen zugeordnet. Jetzt fehlt ja der Zusammenhang der Artikel zu den Filialen, alsomalles ziemlich wirr beschrieben.
Warum steht sie bei Dir schon da?
Weil ich diese Information zum Zeitpunkt der Erstellung noch nicht hatte, das hatte ich ja extra gefragt !

Also letzte Chance von meiner Seite: Stell deine Sheets zusammen im Ursprungszustand und im Sollzustand und stell sie zum Download dann sind Fehlinterpretationen und fehlende Informationen ausgeschlossen. Ich mach das für dich ja auch, und etwas mehr Mühe schadet hier nicht wenn du hier schon kostenlose Hilfe bekommst :-( face-sad , ansonsten ist hier für mich Zappenduster in diesem Thread.

Bedenke immer das wir hier nur mit den Informationen arbeiten können die du uns lieferst und wenn da halt essentielle Teile fehlen die wir hier nicht sehen können, klappt das nicht.

Also DANKE für eine eindeutige und unmissverständliche Beschreibung.

Schönen Abend und bis morgen.
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerkgrundlagen
Frage der anderen Art
NeuerleVor 1 TagFrageNetzwerkgrundlagen16 Kommentare

Hi an alle, Ich bin InformatikStudi. Habe Ende des Monats Klausur im Fach Netzwerke zu schreiben und komme gar nicht klar. Entweder ich bin ...

CPU, RAM, Mainboards
CPU Lüfter ausbauen
gelöst ben1300Vor 1 TagFrageCPU, RAM, Mainboards9 Kommentare

Hallo zusammen, ich habe mir damals einen Fertig PC gekauft. Ich würde gerne den Arbeitsspeichern austauschen, allerdings muss ich dafür - so wie es ...

Windows Userverwaltung
Account Aktivierung über VPN
Phill93Vor 1 TagFrageWindows Userverwaltung3 Kommentare

Hallo, ich muss mir für eine RDP Umgebung für einen Verein eine Lösung für die Account Aktivierung ausdenken. Meine Idee ist die folgende: 1. ...

Switche und Hubs
Suche Deutsche Sprachdatei für D-Link DGS-1210-24 D1 Switch
gelöst Oggy01Vor 21 StundenFrageSwitche und Hubs8 Kommentare

Hallo, ich habe einen D-Link DGS-1210-24 Vers. D1 Switch bekommen und suche für diesen eine Deutsche Sprachdatei. Die Firmware ist auf dem aktuellen Stand ...

Soziale Netzwerke
Anzahl Postings auslesen
gelöst r2d2r3poVor 1 TagFrageSoziale Netzwerke13 Kommentare

Hallo, habe seit 2014 eine Fanpage und wir posten jeden Tag. Kennt jemand einen Weg wie man die Anzahl der Postings seit 2014 auslesen ...

Windows 10
Lizenzfrage WDS mit Windows 10 OEM und E3 für Enterprise
noodellsVor 1 TagFrageWindows 107 Kommentare

Hallo Zusammen, ich habe mal eine generelle Lizenzfrage zum Thema WDS. Ich möchte mehrere PCs installieren, die schon vom Hersteller eine funktionierende Windows 10 ...

Video & Streaming
Videoaufnahme funktioniert nur bis zum ersten Reboot (0x80040217)
IllusionFACTORYVor 16 StundenFrageVideo & Streaming10 Kommentare

Ich nehme über eine Video-Software von einem USB-Hardware-Encoder Video auf. Das funktioniert exakt bis zum ersten Reboot - danach bekomme ich beim Starten der ...

Hardware
COM-Ports verstellen sich immer wieder
gelöst hanheikVor 1 TagFrageHardware6 Kommentare

Hallo, an 3 neuen Windows 10-Rechnern sind Strichcode-Scanner (mit RS232-Schnittstelle) per USB-Com-Adapter angeschlossen. Die anzusprechende Schnittstelle COMx ist jeweils in der Kassensoftware hinterlegt. Leider ...