Hallo Micha,
ich habe nun Dein Problem verstanden und weiß was du willst ;-)
Meines Erachtens funtkioniert das so trotzdem nicht.
In Word kannst Du auf Dokument-Variablen zugreifen mithilfe von
documentvariables
also müsste es in excel der logik nach die
worksheetvariable /workbookvariable sein
da kannst du mal bei google-groups suchen - ich hab auf die schnelle leider nichts gefunden
bei excel kannst du stattdessen meiner meinung nach nur per name
zellbezug zu einzelnen zellen herstellen.
wieso schreibst du diesen messwert nicht in eine zelle -- und die formel in eine andere zelle, in der du dich auf die zelle mit deinem messert beziehst
bsp.
mein messert ist 3,33 - den schreibe ich in zelle a1
cells(1, 1) = 3,33
im excelsheet schreibe ich nun in a2
"=a1 * 3"
dann sollte in a 2 "9,99" stehen
diesen kann ich per code ausgeben
msgbox cells(2, 1)
und in der msgbox steht der mulitplizierte wert
wenn du nicht von deinem weg abrücken möchtest, würde ich an deiner stelle nochmal nach worksheet-variable oder s.ä. suchen
ansonsten kommst du meines erachtens wie beschrieben am schnellsten zum ziel
wäre nett, wenn du mir sagst, wie du das problem letztendlich gelöst hast
hoffe es hilft weiter
viele grüße und schönes wochenende
oli
Micha schrieb am 16.07.2004 09:08:19:
Hallo Oliver und die anderen eventuell!
Danke erstmal. Werde mich also doch bißchen umfangreicher bzw. besser erklären müssen, um das Problem rüber zu bringen:
Grundsätzlich handelt es sich bei der Anwendung um eine Meßwerterfassung mithilfe von Excel und VBA. Über COM2 kommt ein 12bit-Wert rein. Diesen kann ich nun direkt im Programm anzeigen bzw. verarbeiten. Ich möchte aber nicht mit den rohen Bits arbeiten sondern den Messwert auch mal in eine Formel packen, um z.B. eine proportionale oder unlineare Größe, die gemessen wurde, darzustellen. So weit auch alles ok. Ein Beispiel wäre eben:
Ergebnis = Messwert / 4095 * 5
Ich möchte aber nicht bei jeder Formeländerung im Code rummachen, sondern will auch dem Benutzer später eventuell einfach die Möglichkeit geben, seine eigene Formel zu verwenden. Also dachte ich daran, diese Formel in eine Excel-Zelle einzugeben (alternativ ginge auch eine Input-Box), die ich dann im Programmcode abfrage und mit ihr weiter rechne. Allerdings funktioniert das eben mit der Variable nicht. Die wird immer nur als Text erkannt, sobald die Formel aus einer Excel-Zelle stammt. Also müßte es eine Möglichkeit geben, dem Code zu sagen, dieser Textstring-Teil (Messwert) ist der Variablenname, die Variable kommt ja im Code selbst auch vor und wurde deklariert.
So soll der Inhalt der Input-Box oder Zelle A1 aussehen:
= Messwert / 4095 * 5
Im Programmcode dann folgende Zeile:
Ergebnis = Evaluate(...Cells(1, 1).Value)
Mit Evaluate geht zwar tatsächlich die Berechnung von Formeln, aber eben auch nicht mit Variablen.
Ich hoffe, das ist jetzt einwenig klarer ersichtlich. Ich kann mir nicht vorstellen, daß das nicht geht. Eher wird das des öfteren Anwendung finden. Nur weiß ich nicht, wie es heißen könnte und finde nichts dazu mangels Suchstichworten.
Nochmal vielen Dank, Micha |