Clever-Excel-Forum

Normale Version: Makro der richtige Weg?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen Liebe Schwarmintelligenz!
 
Ich hab ein Problem und hoffe Ihr könnt mir bei der Lösung behilflich sein.
Folgendes ist der Status Quo:
Ich arbeite in einem Projekt, das über ESF-Mittel gefördert wird und es läuft zum Ende des Jahres aus. 2 von 6 Mitarbeitern sind noch da und ich muss die Auswertung (ca. 50 Kundendaten pro Mitarbeiter) machen. Wir haben in Eigenregie zur Dokumentation der Fälle eine Excel-Vorlage [attachment=34273] gemacht, die für den jeweiligen Kunden bereits eine Auswertung [attachment=34274] mit Hilfe vordefinierter Kategorien [attachment=34275] im letzten Tabellenblatt vornimmt.


Da die Ordnerstruktur von Mitarbeiter zu Mitarbeiter sehr unterschiedliche ist und ich nicht vor habe alles manuell auszuzählen, hatte ich vor jeden Beratungsverlauf in einen Ordner zu Kopieren und in einer extra Excel-Datei eine Auswertung aller BV´s zu fahren [attachment=34276].

Ich habe im Netzt bereits ein Video gefunden, die die Programmierung eines Makros Schritt für Schritt erklärt, dass;

1.      Die Quelldatei öffnet

2.      Die benötigten Daten in die Zieldatei kopiert

3.      Die Quelldatei wieder schließt

4.      Den Spaß bei allen anderen Dateien im Ordner wiederholt.

Da ich mein Excel-Wissen mit der Erstellung der Vorlage aber bereits erweitert und bis dato ausgereizt habe und vom Makros programmieren etwa genau so viel Ahnung habe wie von Herzchirurgie, führte das Makro nicht zum Erfolg. ^^
Hat jemand eine Idee ob meiner Überlegung zielführend ist und kann mir evtl ein Makro basteln, welches ich nur C&P in VBA eingeben muss und das mir die Arbeit abnimmt?


 

Viele Dank schon Mal!

 
PS: Falls ihr zur Bearbeitung die Vorlagen braucht, PN.[attachment=34279][attachment=34278]
Hallo,
hier "lieben" alle Bilder denn wir sind ja im Excelforum. Ich jedenfalls, baue sowas nicht nach.
Entweder Excel oder nix passiert nur damit du dich nicht wunderst.
Hi

habe mir Deinen Dateien angesehen und kann keine Daten erkennen, die zu kopieren sind. 

Kannst Du bitte sagen, welche die Quelldatei und welche die Zieldatei ist, welches die benötigten Daten sind?

Übrigens:
Zitat:... ich nicht vor habe alles manuell auszuzählen


Hast Du einen Auftraggeber? Oder hat Dir das dein Arbeitgeber gesagt? Wenn nicht, dann solltest Du das Deinem Arbeitgeber erzählen. Aber das ist nur nebenbei. Hier gehrt es um Excelprobleme.

Wie dieses Problem effizient lösbar ist und wie effizient es lösbar ist, lässt sich mit oben angefragten Infos besser abschätzen.

Gruss, Raoul
Die BeratungsverlaufVorlage ist für jeden Kunden ausgefüllt (sorry, wollte das Muster einfügen.) daraus ergeben sich dann in dem Tebellenblatt "Auswertung"  die Zahlen an Themen, die jeder Kunden besprochen hatte. Das will/muss ich dann zusammenziehen als eine Datei in Auswertung, sodass ich (bzw meine SGL) sehen kann wieviele KOntakte zu welchem Thema waren und diese Zahlen dann ans Ministerium schicken kann.
Auswertung ist dann die Gesamte!

hier läuft das ehe nach dem Prinzip; hier haste ne aufgabe sie zu wie du damit klar kommst! ^^
Hallöchen,

wo sind denn die Makros und was funktioniert konkret nicht?
HI!

In den Vorlagen sind keine Makros... hatte mal in einer anderen DAtei rumprobiert, aber da es nicht klappte alles wieder gelöscht...
Also Start ist quasi bei Null...  Confused
Hallöchen,

Du kannst mit dem Makrorekorder schon einiges erreichen. Siehe dazu
Excel-Word-Makrorekorder

man könnte den aufgezeichneten Code als Basis nehmen und so abändern, dass z.B. alle Dateien eines Verzeichnisses geöffnet und die Daten kopiert und eingefügt werden.

Im Prinzip könnte es so funktionieren, du musst nur c:\test durch deinen Ordner ersetzen:

Code:
Sub test()
Dim strFileName$, iCnt%
strFileName = Dir("c:\test\*.xlsx")
iCnt = 1
Do While strFileName <> ""
  Workbooks.Open strFileName, , True
  Range("A1:B20").Copy ThisWorkbook.Sheets("Tabelle1").Cells(1, iCnt)
  Range("D1:E15").Copy ThisWorkbook.Sheets("Tabelle1").Cells(23, iCnt)
  Range("J1:O20").Copy ThisWorkbook.Sheets("Tabelle1").Cells(42, iCnt)
  iCnt = iCnt + 6
  strFileName = Dir
  ActiveWorkbook.Close False
Loop
End Sub