Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem Funktion aus AddIn aufzurufen

Problem Funktion aus AddIn aufzurufen
12.04.2003 03:07:20
Christian
Hi Leute,

ich habe foldenden code in AddIn test.xla gespeichert.

Public Function Test(SheetName As String) As String
Dim WS As Worksheet
Set WS = ThisWorkbook.Worksheets(SheetName)
Test = CStr(WS.Cells(2, 2).Value)
End Function

Beim Aufruf der Funktion aus einem anderem Worksheet (test.xla habe ich über Add-InManager eingebunden), erhalte ich immer nur die Fehlermeldung #WERT!.

Ersetze ich in obigem code Set WS= ThisWorkbook.Worksheets(SheetName) durch Set WS=Worksheets(SheetName), funktioniert das ganze.

Hat jemand von euch eine Ahnung, an was das liegt und gibt es noch mehrere Ausnahmen, die es bei der Erstellung von AddIns beachten muss? Wäre über jeden Hinweis, bzw. Quellen äusserst dankbar.

Danke und Gruss
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Problem Funktion aus AddIn aufzurufen
12.04.2003 08:38:51
Forum

Hallo Christian

ThisWorkbook bezieht sich immer auf die Datei in der der Code ist.

Gruß
Microsoft MVP für Excel

Re: Problem Funktion aus AddIn aufzurufen
12.04.2003 09:09:16
Christian

Habe mir das fast gedacht, aber gibt es für AddIns noch weitere Regeln, die es zu beachten gilt?

Weiterhin würde mich interessieren, ob das schlichte weglassen von "ThisWorkbook" immer ausreicht und vollständig ist? Oder sollte generell in AddIns z.B. anstatt "ThisWorkbook" so etwas wie "AufrufendesWorkbook" verwendet werden?

Plane ein paar häufig benutzte Funktionen in AddIns auszulagern und wollte mich im Vorfeld darüber informieren, mit welchen besonderheiten ich zu kämpfen habe.

Danke für jeden weiterführenden Kommentar.

Gruss Christian


Anzeige
Re: Problem Funktion aus AddIn aufzurufen
12.04.2003 11:51:02
Hans W. Hofmann

Man sollte grundsätzlich ohne Seiteneffekte auskommen.
Ein Seiteneffekt ist, wenn man über eine Funktion auf Speicher zugreift, der nicht über die Argumentliste übergeben wurde.
Das ist übelste Programmpraxis und führt bei XL automatisch dazu, dass Funktionen nicht neu berechnet werden. Wie in Deinem Beispiel auch - ändere doch mal den Wert in WS.Cells(2, 2)!
Im übrigen gibt es Deine Funktion schon im Lieferumfang z.B. INDIREKT...

Gruß HW

Stolpersteine mit Funktionen in AddIns
12.04.2003 17:21:30
Christian

Hi Hans,

danke für deine Hinweise. Die angegebene Funktion war nur ein Beispiel. Ich benötige in einem AddIn Funktionen, die auf andere Tabellenblätter zugreifen. Ich will ein ASCII Ausgabelistfile postprocessen. Dazu extrahiere ich Daten aus dem ASCII listfile und berechne Werte, die im Listfile so nicht vorhanden sind.

Binde ich die Funktionen in die aufrufende Arbeitsmappe selbst ein, funktioniert dies auch prima. Da in unserer Firma mehrere Leute diese Funktionen nutzen und ich ab und an updates einbau, wollte ich all diese Funktionen in ein AddIn auslagern und an zentraler Stelle speichern.

Deshalb wollte ich mir anhand kleinerer Testbeispiele klar werden, welche "Gefahren" das ganze in sich birgt. Als erstes ist mir dabei eben ThisWorkbook.Worksheet aufgefallen.

Weiss jemand, auf was bei selbstdefinierten Funktionen in Excel noch unbedingt zu achten ist?
Bin für jeden Hinweis dankbar.

Danke und Gruss Christian


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige