Formel in eine Variable, nicht ihr Ergebnis

05/02/2009 - 02:13 von Arnulf Sopp | Report spam
Tach!

Meine Schulklassenverwaltung kann jetzt kraft VBA Daten aus
verflossenen Halbjahren in die aktuelle Datei einlesen, wenn nur der
alte Dateiname bekannt ist. Das ist nicht zuletzt dank der Hilfe der
Fall, die ich hier erfuhr. Nochmals Danke!

Nun tat sich ein weiteres Problem auf: Klassen wechseln ihre Namen
nicht gerade wie die Hemden, aber immerhin einmal im Jahr (z.B. aus
der 7c wird die 8c). Den Klassennamen könnte ich natürlich abfragen,
aber der Normalfall ist, dass man im 2. Halbjahr seine Klassen behàlt
und somit die Schülernamen und ihre Vornoten automatisiert einlesen
möchte. Das klappt auch wunderbar. Der unverànderte Klassenname wird
einfach aus dem aktiven Arbeitsblatt entnommen.

Wenn aber eine frühere Klasse eingelesen werden soll, ist dieser
falsch. Excel fragt dann nach und làsst in einem Fenster das korrekte
alte Klassenblatt anklicken. Auch kein Problem.

Da aber drei Kopiervorgànge stattfinden, kommt diese Nachfrage
dreimal, wobei man natürlich jedesmal dieselbe Klasse wàhlen muss. So
schmiedete ich einen teuflischen Plan:

Nach dem Einlesen der ersten Zelle - da steht jetzt erst mal die
korrigierte Formel - wird diese sofort in eine Variable geladen und
nach dem zutreffenden Klassennamen durchsucht. Fehlanzeige, weil in
der Variablen nur das Ergebnis landet, nàmlich der Schülername im
Klartext.

Die entsprechenden VBA-Zeilen lauten ("Formel" ist eine
Stringvariable, die die zusammengebastelte Einleseformel enthàlt):

Range("B7") = Formel
' Excel fragt nun nach, der korrekte Klassenname landet in der Zelle,
' den lese ich dann aus:
Formel = Range("B7")

Wie kriege ich es gebacken, dass dann in Formel tatsàchlich eine
Formel steht und nicht ihr Ergebnis?

Zuvor hatte ich es auch mit einer Fehlerabfangroutine versucht, aber
die wurde nie erreicht. Ob das Geschilderte vom großzügigen Excel gar
nicht als Fehler gewertet wird?

Tschüs!

Arnulf
 

Lesen sie die antworten

#1 Rainer Kluge
05/02/2009 - 08:50 | Warnen spam

Wie kriege ich es gebacken, dass dann in Formel tatsàchlich eine
Formel steht und nicht ihr Ergebnis?




Hi,
Guckst Du in VBA Hilfe unter Stichwort "Formula"
Gruß
Rainer

Ähnliche fragen