![]() |
![]() |
|
|
#1 |
![]() Neuer Benutzer |
Hallo,
Ich schreibe gerade für eine Freundin an einem Makro und so langsam sehe ich, dass es garnicht sooo einfach ist, das umzusetzen, was ich mir da vorgestellt habe. Stellt euch eine Datei Mitarbeiter.xls vor. Diese Datei hat verschiedene Sheets und ein Sheet heißt "Mitarbeiter_Jahr" Spalte A, Spalte B, Spalte C,.... Identifikationsnummer, Name, Jänner, Februar, März, April, ....,Dezember, GesamtJahr 1, Andreas,200,250,180,350,.. 17, Sandra,500,140,"LEER",700,.. 8, Christian,"LEER","LEER",500,400,... Jetzt gibt es eine zweite Datei(könnte auch einfach anderer Sheet sein), die heißt z.B. Werte.xls. In dieser Datei befinden sich bestimmte Werte, die zu einer Person und einem bestimmten Monat gehören. Spalte A, Spalte B, Spalte C,.... Identifikationsnummer, Name, Jänner, Februar, März, April, ....,Dezember, GesamtJahr 8, Christian, 50, 10,30,70,... 1, Andreas, 10, 40,80,20,.... Was ich jetzt versuche zu machen ist folgendes: Ich möchte eine Division oder überhaupt eine arithmetische Rechenart mit jeweils einem Wert aus Mitarbeiter.xls und dem dazugehörigen Wert/Zahl aus Werte.xls durchführen. Als Beispiel wird hier beim Andreas der Jännerwert "200" durch den dazugehörigen JännerWert "50" aus Werte.xls dividiert. Nach dem Ausführen des Makros steht dann in Mitarbeiter.xls 1, Andreas,4,25,6,5 Es wird über die Identifikationsnummer die richtige Person gefunden und dann müsste ich den Jännerwert aus einer Datei(ein neuer Sheet in gleicher Datei müsste eigentlich auch gehen) durch den dazugehörigen Jännerwert aus anderer Tabelle dividieren. Dann geht es mit Februar weiter. Wenn die vorhandenen Monate alle durch sind, geht es eine Zeile runter und die nächste Person kommt dran. Ich versuche das mit "find" und "vlookup/sverweis" anzugehen, aber bin erst neu mit VBA und Excel ![]() |
|
|
|
|
|
#2 |
![]() MOF Profi |
Hallo Caro, warum wilst du das per VBA erledigen? Das kann Excel ganz gut per Fomel erledigen, schau die die zwei Dateien mal an. Gruß Sepp |
|
|
|
|
|
#3 |
|
Threadstarter
![]() Neuer Benutzer |
Hallo mein Retter!
Ich will garnicht sagen wieviele Stunden ich da gegrübelt habe, und du machst das in paar Minuten .Ich ging davon aus, dass so etwas "komplexes" so richtig gross ausprogrammiert werden muss. Deine Lösung scheint ja um einiges kürzer und eleganter zu sein. Ich verstehe es noch nicht ganz, ich sehe auch keinen VB Code in den Modulen, aber es scheint doch irgendwie das zu machen, was ich mir vorgestellt hatte! Die Lösung ist wohl die IF(INDEX Formel. Bereite dich schon mal morgen auf viele viele Fragen vor .Werde morgen bzw. heute selber erst etwas diesbezüglich recherchieren und melde mich dann hier mit den konkreten Fragen. Jetzt erstmal vielen Dank und gute Nacht! |
|
|
|