Toby0909
23.03.2007, 18:24 |
@Uwe - kann das Excel"automatisch rechnen"? Thread gesperrt |
-->Hi Uwe,
also ich habe meine Tabelle so mehr oder weniger fertig.
Die Grundtabelle ist das, was ich im vorangegangenen Posting gezeigt habe.
Also banal gesagt:
Indexkurse A, Hoch- und Tiefpunkte, Handelssignale, Indexkurse B, Performance.
Durch den flexiblen Zellbezug steuere ich nun welche Hoch- und Tiefpunkte ich will. Also will ich die Mappe mit einem 2-Wochen Hoch-Kaufsignal und einem 3-Wochen-Tief-Verkaufssignal testen oder mit anderen Parametern.
Die Ergebnisse gehen in weitere Berechnungen ein.
Ganz am Ende aller Berechnungen interessieren mich - zunächst - erstmal nur 3 Zahlen, die auf einem anderen Excel-Blatt stehen.
Jetzt würde ich mir gerne die verschiedenen Ergebnisse in den 3 Zahlen für verschiedene Parameter-Einstellungen anzeigen lassen.
also Parameter: 1-2, 1-3, 1-4, 1-5,....5-1,5-2,5-3,5-4.....bis zu 18-12, 15-18 usw....
Diese Zahlen müssen aber eben in die Eingabefelder rein - dann muss der Excel rechnen und dann kommen hinten die Zahlen raus.
Das muss doch irgendwie auch automatisch gehen?
Toby
|
Uwe
23.03.2007, 23:39
@ Toby0909
|
Re: @Toby - kann das Excel"automatisch rechnen"? |
-->>Toby:[i]... also ich habe meine Tabelle so mehr oder weniger fertig.[/i]
Gratulation, zur erreichten Entwicklungsstand, Toby!
>Toby:[i]... Jetzt würde ich mir gerne die verschiedenen Ergebnisse in den 3 Zahlen für verschiedene Parameter-Einstellungen anzeigen lassen.
>also Parameter: 1-2, 1-3, 1-4, 1-5,....5-1,5-2,5-3,5-4.....bis zu 18-12, 15-18 usw....
>Diese Zahlen müssen aber eben in die Eingabefelder rein - dann muss der Excel rechnen und dann kommen hinten die Zahlen raus.
>Das muss doch irgendwie auch automatisch gehen?[/i]
Um diese Aufgabenstellung nach Deinen beschriebenen Vorstellungen lösen zu können, wirst Du um das Programmieren (VBA) nicht herumkommen, denn Du willst, dass eine bestimmte Anzahl von Parameterkombinationen nacheinander Ergebnisse liefert, die in einer Protokolltabelle nacheinander eingetragen werden.
Bei der Entwicklung einer Programmstruktur hierzu, muß man ein paar Rahmeninformationen beachten. Als Pseudo-Code kannst Du wohl folgende Ablaufbeschreibung eines VBA-Standardmoduls (Makro) als Grundlage nehmen:
<pre>Sub ParameterVariation()
- Schleife über alle Parameterpaare len1-len2
- Schreibe Paramter in Zellen, wodurch die Tabelenformeln
neu berechnet werden
- Schreibe in neu Zeile des Ergebnisprotokollstabelelnblatts
die Parameter l1 - l2 und die drei Ergebniswerte E1, E2 und E3
- nächstes Paarmeterpaar für erneuten Schleifendurchlauf setzen,
bis für alle Paare die Ergebnisse berecnet und geschrieben worden sind.
end sub
</pre>Soll nun dieser Ablaufplangedanke in ein VBA-Code umzusetzen werden, sind erst einmal Festlegungen zu den Parameterpaaren zu treffen (z.B Kombinationen aus l1=1 bis 18 und l2=1 bis 18 oder n-Paarameterpaare l1-l2), die in die Zellen G16 und H16 der Tabelle mit dem Tabellenname"Tabelle1" eingetragen werden sollen.
Ferner sind die Ergebniszellen zu benennen(z.B. 'Tabelle2'AA16, 'Tabelle2'AB16, und 'Tabelle2'AC16).
Die Ergebnisse sollen auf dem Tabellenblatt mit dem Namen Protokoll geschreiben werden:
<pre>Sub Parameterkombinationen()
Dim ws1 as worksheet, ws2 as Worksheet, ws3 as worksheet
dim l1 as integer, l2 as integer, lfdNr as long
set ws1 =worksheets("Tabelel1")
set ws2 =worksheets("Tabelel2")
set ws3 =worksheets("Protokoll")
'lösche Protokoll
with ws3
.cells.clear
'Schreibe Spaltenüberschrift
.cells(1,1)="lfdNr"
.cells(1,2)="Len1"
.cells(1,3)="Len2"
.cells(1,4)="Erg-Wert1"
.cells(1,5)="Erg-Wert2"
.cells(1,6)="Erg-Wert3"
end with
'Parameterpaar setzen
for l1 = 1 to 18
ws1.Range("G16")=l1
for l2 = 1 to 18
ws1.Range("H16")=l2
'infolge Zellenformel werden Ergebnisse
'der lfdNr-ten Parameterkombination ermittelt
lfdNr=lfdNr+1
'Schreibe Protokoll
with ws3
.cells(lfdNr+1,1)=lfdNr
.cells(lfdNr+1,2)=ws1.Cells(16, 7) 'Parameter l1
.cells(lfdNr+1,3)=ws1.Cells(16, 8) 'Parameter l2
.cells(lfdNr+1,4)=ws2.Cells(16, 27) 'Ergebnis in Zelle AA16
.cells(lfdNr+1,5)=ws2.Cells(16, 28) 'Ergebnis in Zelle AB16
.cells(lfdNr+1,6)=ws2.Cells(16, 29) 'Ergebnis in Zelle AC16
end with
next l2
next l1
set ws1=nothing
set ws2=nothing
set ws3=nothing
end ssub
</pre>Der"with... end with"-Block dient zur Vereinfachung bei gleichen Basisobjekten; es ist
<pre>with ws3
.cells(lfdNr+1,1)=lfdNr
.cells(lfdNr+1,2))=ws1.Cells(16, 7) 'Parameter l1
....
end with
</pre>gleichbedeutend mit
<pre>ws3.cells(lfdNr+1,1)=lfdNr
ws3.cells(lfdNr+1,2))=ws1.Cells(16, 7) 'Parameter l1
...
</pre>Wenn jedoch mit festen Parameterkombinatioen gearbeitet werden soll, dann sin die For-Schleifen enstsperechend abzuändern:
<pre>...
'Parameterpaar setzen
Dim arrl1, arrl2
arrl1=Array(1,4,7,10)
arrl2=Array(2,3,6, 8)
for l1 = 0 to UBound(arrl1)
with ws1
.Range("G16")=arrl1(l1)
.Range("H16")=arrl2(l1)
end with
'infolge Zellenformel werden Ergebnisse
'der lfdNr-ten Parameterkombination ermittelt
...
next l1
...
</pre>Da auf Anhieb das Makro vielleicht nicht zum Laufen gebracht werden kann und dieses EXCEL-Thema hier derart ausgeweitet werden soll, bis die letzten Feinheiten erläutert sind, kannst Du mir gerne eine Email senden, wenn es keine bessere Lösung hier gibt.
Gruß,
Uwe
|
Toby0909
24.03.2007, 09:41
@ Uwe
|
ist unterwegs:) owT (o.Text) |
-->
|
hoerby
24.03.2007, 10:21
@ Toby0909
|
Re: ist unterwegs:) owT (o.Text) |
-->Hallo Toby0909,bin zwar kein Freak,aber sieh mal hier,dass gibt es Privat und Kommerziell,auch in Windows.
http://www.ragtime.de/
Bietet zu der DTP-Software für Windows und MacOS Produktinformationen, Anwendungsbeispiele und Dokumentationen. Neben einer Supportdatenbank und...
http://www.pcwelt.de/downloads/druck_dtp/dtp/20268/index.html
Letztes Update: 24.02.2007
107372 Downloads
Beschreibung
Ab sofort bietet die Firma Ragtime aus Hilden die Publishing-Software"Ragtime 5.6.5" kostenlos zum Download an. Einzige Bedingung: Sie darf nicht für kommerzielle Zwecke genutzt werden. Wer letzteres tun möchte, muss die rund 850 Euro teure Vollversion der Software erwerben.
Die"Private Edition" steht für die Betriebssysteme Windows und Mac-OS zum Download bereit. Der Download der Windows-Version beträgt 35 Megabyte. Wem der Download zu umfangreich ist, kann die Software gegen eine Bearbeitungsgebühr von 17,40 Euro auch auf CD bestellen.
Ragtime 5.6.5 ist ein vollwertiges rahmenorientiertes Desktop-Publishing-Programm für den Einsatz in Unternehmen. Ganze Seiten können mit Texten, Fotos, Grafiken und Tabellen objektorientiert gestaltet werden. Dabei unterstützt Ragtime alle gängigen Fremdformate, wie zum Beispiel".doc",".xls",".jpg",".eps" und viele mehr. Die fertigen Seiten können beispielsweise im EPS-, PDF- oder HTML-Format ausgegeben werden. In die Software sind mit Hilfe von Modulen eine Euro-Umrechnung, eine Präsentationsfunktion und eine ODBC-Datenbankanbindung integriert.
Der Unterschied der"Private Edition" im Vergleich zur Vollversion liegt in einem Bildschirm, der beim Starten des Programms erscheint. Hier wird der Anwender darauf hingewiesen, dass er"Ragtime 5.6.5" nicht kommerziell nutzen darf. Außerdem fehlen die ICC-Farbprofile und das Wörterbuch für die Rechtschreibkorrektur. Letzteres kann aber auch extra als Modul erworben werden.
Bietet zu der DTP-Software für Windows und MacOS Produktinformationen, Anwendungsbeispiele und Dokumentationen. Neben einer Supportdatenbank und...
mfg.hörby
|
Toby0909
24.03.2007, 10:38
@ hoerby
|
das sieht aus wie ein Mini-MindJet MindManager oder so was?! |
-->Hi Hörby,
also ich verstehe fast nichts von den Texten auf den beiden Websites. Das ist wieder typisch. Aber soweit ich das verstehe ist das ein Tool mit dem man quasi eine Präsentation aufbauen kann - mit Text und verschiedenen Dateitypen. Also so in etwa wie ein"kleiner MindMangaer mit erweiterte Grafikfunktion" oder so was?
Aber wie kann ich damit meine Berechnungen anstellen?
Toby
|
Billiboy72
28.03.2007, 00:43
@ Toby0909
|
Re: @Uwe - kann das Excel"automatisch rechnen"? |
-->Hallo Toby,
alles geht mit VBA. Doch ich behaupte mal, Deine beschriebene Anforderung läßt sich mit Excel-Standard-Funktionen problemlos lösen.
Wenn magst schick mir Deine Datei. Ich schau mal drüber.
mfg
|