PDA

Vollständige Version anzeigen : Bestimmte Zellen einer anderen Lasche automatisch einfügen


Reto1000
06.09.2011, 13:06
Hallo zusammen

ich bin ein Anfänger bezüglich erstellen von Makros.


Im angehängten Excelfile befindet sich in der ersten Lasche in den Zellen B4,C4,D4,E4 usw Firmen Namen. Diese Firmen Namen sind auch in der zweiten Lasche enthalten. Das Orignalfile ist bedeutend umfangreicher.

Das Ziel der Formel/Makro ist, das die Rendite der entsprechenden Firma der zweiten Lasche in die entsprechende Spalte der Firma in der ersten Lasche kopiert wird.

Gelb markiert ist die Lösung, welche die Formel möglichst automatisch einfügen sollte.

Gibt es eine Formel oder ein Makro, welches die folgende Aufgabe übernimmt?
Für Hinweise bin ich dankbar.

Gruss

Hasso
06.09.2011, 13:57
Hallo Reto1000,

schreibe in Zelle A4 im Blatt Relevant1
=SVERWEIS(A4;Relevant2!A1:C67;3)
und kopier das dann runter.

Reto1000
06.09.2011, 14:36
Hallo Hasso

Danke für den Hinweis.
Falls ich die Formel in Zelle A4 einsetze gibt es einen Zirkelbezug.

Ich möchte ja, das Resultat in der Zelle B8 und folgende Zeilen. Ich habe es auch in der Zelle B8 eingestzt leider funktioniert auch dort nicht.

Das Problem ist das ich sehr viele Firmen habe ca. 1000 Stück. Aus diesem Grund wäre ein möglichst automatisiert Formel hilfreich.

Siehst du eine andere Möglichkeit?

Gruss Reto

Hasso
06.09.2011, 14:42
Hallo Reto,

das war ein Schreibfehler von mir. Die Formel muss natürlich in B4 (und dann nach unten runterziehen)!

Reto1000
06.09.2011, 15:05
auch in B4 erscheint eine Fehlermeldung #NV.

Ich habe Dir noch die excel-datei hinaufgeladen.

Es wäre für mich sehr hilfreich, falls du mir helfen könntest ;-)

Hasso
06.09.2011, 15:28
Hallo Reto,

ich hatte bei der Formel einige absolute Bezüge vergessen...

Jetzt siehts so aus:
<b>Relevant1</b><br /><br /><table border="1" cellspacing="0" cellpadding="0" style="font-family:Calibri,Arial; font-size:11pt; background-color:#fffbf0; padding-left:2pt; padding-right:2pt; "> <colgroup><col style="font-weight:bold; width:30px; " /><col style="width:83.2px;" /><col style="width:124.8px;" /><col style="width:152px;" /><col style="width:136.8px;" /></colgroup><tr style="background-color:#cacaca; text-align:center; font-weight:bold; font-size:8pt; "><td >&nbsp;</td><td >A</td><td >B</td><td >C</td><td >D</td></tr><tr style="height:22px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >11</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">08.01.2008</td><td style="background-color:#ffff00; text-align:right; ">0,042171491</td><td style="background-color:#ffff00; text-align:right; ">-0,012143639</td><td style="background-color:#ffff00; text-align:right; ">-0,11867153</td></tr></table><br /><table style="font-family:Arial; font-size:10pt; border-style: groove ;border-color:#00ff00;background-color:#fffcf9; color:#000000; "><tr><td ><b>Formeln der Tabelle</b></td></tr><tr><td ><table border = "1" cellspacing="0" cellpadding="2" style="font-family:Arial; font-size:9pt;"><tr style="background-color:#cacaca; font-size:10pt;"><td >Zelle</td><td >Formel</td></tr><tr><td >B11</td><td >=SVERWEIS($A11;Relevant2!$A$4:$H$1000;3;FALSCH)</td></tr><tr><td >C11</td><td >=SVERWEIS($A11;Relevant2!$A$4:$H$1000;6;FALSCH)</td></tr><tr><td >D11</td><td >=SVERWEIS($A11;Relevant2!$A$4:$H$1000;8;FALSCH)</td></tr></table></td></tr></table> <br /><br /><span style="font-family:Arial; font-size:9pt; font-weight:bold;background-color:#ffffff; color:#000000; ">Excel Tabellen im Web darstellen &gt;&gt; </span><a style ="font-family:Arial; font-size:9pt; color:#fcf507; background-color:#800040; font-weight:bold;" href="http://www.excel-jeanie-html.de" target="_blank"> Excel Jeanie HTML 4 </a>



Deine Mappe mit eingebauter Formel anbei (da sie zu groß war, gezipt).

Für die Spalten E ff. war mich nicht ganz klar, was da rein sollte.

Reto1000
06.09.2011, 15:46
hoi hasso

dank für deine hilfe.

Vielleicht habe ich mich etwas undeutlich ausgedrückt. Das Datum kann nicht als Suchkriterium verwendet werden. Sondern die Firmenkürzel , welche in der Zeile 4 angeordnet sind.

In der Lasche 2 gibt es mehr verschiedene Firmen als in der Lasche 1.

Des Weitern gibt es in der Lasche 1 Firmen welche mehrmals vorkommen. Für diese sollte jedesmal die Renditen kopiert werden.
(beispielsweise ABBN VX Equity im bereits angehänten File)

Hasso
06.09.2011, 15:59
Hallo Reto,

Das Datum kann nicht als Suchkriterium verwendet werden. Sondern die Firmenkürzel , welche in der Zeile 4 angeordnet sind.
Jetzt bin ich völlig verwirrt. In Zeile 4 stehen in der Tat Firmenkürzel. Diese finden sich auf dem Blatt Relevant2 in der Zeile 2 wieder. Aber darunter stehen endlose Zahlenkolonnen. Welche sollen denn nun wohin nach Relevant1 kopiert werden, wenn das Datum keine Rolle spielt?

Reto1000
06.09.2011, 16:25
Hoi Hasso

Von Relevant2 nach Relevant1 sollen die Renditenspalten der jeweiligen Firmen kopiert werden. Diese sind immer im Abstand von 3 Spalten in Relevant2 enthalten. Im Beispiel Relevant 2 ist es für ABB die Renditespalte die Spalte C ab der Zelle C4. Für ACIN ist es die Spalte F ab der Zelle F4. Für ACUN ist es die Spalte H aber der Zelle H4.

Diese Renditespalten sollten in den gelb markierten Bereich in der Lasche Relevant1 unterhalb der Zellen B8, C8, D8, E8 kopiert werden. In Relevant 1 müsste dementsprechend die Werte der Zellen B8 und E8 identisch sein, da es sich beide mal um die gleiche Firma handelt.

Das Datum spielt insofern keine Rolle, da alle Firmen über den gleichen Zeitraum untersucht wurden und somit für jede Firma genau gleichviele Kurstage bestehen.

Hoffe ich habe mich verständlich ausgedrückt..Sonst bitte nachfragen.

Danke im Voraus

Hasso
06.09.2011, 16:51
Hallo Reto,

es wird mir schon etwas klarer und die Formel immer einfacher - aber eine Frage habe ich doch noch:

Sind die Firmenkürzel in Zeile 4 immer gleich oder ändert sich da noch etwas? Im ersteren Fall ist das einfach:
<b>Relevant1</b><br /><br /><table border="1" cellspacing="0" cellpadding="0" style="font-family:Calibri,Arial; font-size:11pt; background-color:#fffbf0; padding-left:2pt; padding-right:2pt; "> <colgroup><col style="font-weight:bold; width:30px; " /><col style="width:83.2px;" /><col style="width:98.4px;" /><col style="width:92.8px;" /><col style="width:98.4px;" /><col style="width:98.4px;" /></colgroup><tr style="background-color:#cacaca; text-align:center; font-weight:bold; font-size:8pt; "><td >&nbsp;</td><td >A</td><td >B</td><td >C</td><td >D</td><td >E</td></tr><tr style="height:23px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >4</td><td style="font-family:Arial Unicode MS; font-size:10pt; ">&nbsp;</td><td >ABBN VX Equity</td><td >ACIN SE Equity</td><td >ACUN SE Equity</td><td >ABBN VX Equity</td></tr><tr style="height:23px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >5</td><td style="font-family:Arial Unicode MS; font-size:10pt; ">&nbsp;</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">2</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">5</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">10</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">14</td></tr><tr style="height:23px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >6</td><td style="font-family:Arial Unicode MS; font-size:10pt; ">&nbsp;</td><td style="font-family:Arial; font-size:10pt; ">&nbsp;</td><td style="font-family:Arial; font-size:10pt; ">&nbsp;</td><td style="font-family:Arial; font-size:10pt; ">&nbsp;</td><td style="font-family:Arial; font-size:10pt; ">&nbsp;</td></tr><tr style="height:22px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >7</td><td style="font-family:Arial; font-size:10pt; ">&nbsp;</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">31.05.2011</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">25.05.2011</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">12.05.2011</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">31.05.2011</td></tr><tr style="height:22px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >8</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">03.01.2008</td><td style="background-color:#ffff00; ">&nbsp;</td><td style="background-color:#ffff00; ">&nbsp;</td><td style="background-color:#ffff00; ">&nbsp;</td><td style="background-color:#ffff00; ">&nbsp;</td></tr><tr style="height:22px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >9</td><td style="font-family:Arial; font-size:10pt; text-align:right; ">04.01.2008</td><td style="background-color:#ffff00; text-align:right; ">-0,045881264</td><td style="background-color:#ffff00; text-align:right; ">0,006039141</td><td style="background-color:#ffff00; text-align:right; ">0</td><td style="background-color:#ffff00; text-align:right; ">-0,045881264</td></tr></table><br /><table style="font-family:Arial; font-size:10pt; border-style: groove ;border-color:#00ff00;background-color:#fffcf9; color:#000000; "><tr><td ><b>Formeln der Tabelle</b></td></tr><tr><td ><table border = "1" cellspacing="0" cellpadding="2" style="font-family:Arial; font-size:9pt;"><tr style="background-color:#cacaca; font-size:10pt;"><td >Zelle</td><td >Formel</td></tr><tr><td >B9</td><td >=Relevant2!C5</td></tr><tr><td >C9</td><td >=Relevant2!F5</td></tr><tr><td >D9</td><td >=Relevant2!H5</td></tr><tr><td >E9</td><td >=Relevant2!C5</td></tr></table></td></tr></table> <br /><br /><span style="font-family:Arial; font-size:9pt; font-weight:bold;background-color:#ffffff; color:#000000; ">Excel Tabellen im Web darstellen &gt;&gt; </span><a style ="font-family:Arial; font-size:9pt; color:#fcf507; background-color:#800040; font-weight:bold;" href="http://www.excel-jeanie-html.de" target="_blank"> Excel Jeanie HTML 4 </a>
Formeln dann wieder runterziehen.
Im zweiten Fall müsste man wahrscheinlich eine VBA-Lösung anpeilen.

Reto1000
06.09.2011, 17:03
Hallo Hasso

Genau so müsste es am Schluss aussehen.
Die Reihenfolge der Firmen im tatsächlichen Excelfile in den 2 verschiedenenen Laschen stimmt nicht überein. Somit bräuchte es eine VBA Lösung.


Die Reihenfolge (Spaltenanordnung) der Firmekürzel ist im Originalfile in Relevant1 und Relevant2 nicht identisch. Das heisst:
zb. Relevant1 ABB ACIN ACCU EON LM ACIN ACIN
z.b. Relevant2 EON UKT ACIN LM ACCU ABB

Relevant1 hat ungefähr 1000 Firmen, wobei einzelne mehrmals vorkommen.

Relevant2 enthält ungefähr 300 Firmen, wobei nicht jede Firma in Relevant 2 in Relevant1 vorkommt.

Hättest Du eine Idee für eine VBA Lösung?

Hasso
06.09.2011, 17:23
Hallo Reto,

ich bin gleich unterwegs und werde mir das heute abend oder morgen früh ansehen.

Reto1000
09.09.2011, 23:30
Herzlichen Dank Hasso für das zusenden des VBA Codes.

Jetzt funktioniert alles einwandfrei