Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
548to552
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
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

doppeltes ausführen der function

doppeltes ausführen der function
17.01.2005 17:22:19
Kristin
moinsen,
ihr könnt mir doch bestimmt (mal wieder) helfen ;)
ich habe eine Arbeitsmappe und ein eigenes Add-In (xla).
über Sub Worksheet_SelectionChange(ByVal Target As Range) der Arbeitsmappe
möchte ich eine Funktion in dem xla aufrufen, das funktioniert auch wunderbar, aber die Funktion wird doppelt ausgeführt. hier der code:
in Tabelle 1 der Arbeitsmappe:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
param = "modul.xla!modul_msg("" " & Target & " "")"
Application.Run (param)
End Sub

in modul.xla:
Sub modul_msg(msg)
MsgBox "in anderer Funkrion:" & msg
End Sub
liegt das an dem SelectionChange Sub? Ich habe solche Funktionsaufrufe nämlich öfter, nur normalerweise aus modulen, und halt nicht diese spezielle Funktion.
Wer kann mir einen Tip geben?
liebe grüße + danke,
kristin

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

Betreff
Datum
Anwender
Anzeige
AW: doppeltes ausführen der function
18.01.2005 07:51:06
Hans
Hallo Kristin,
in der Tat ein merkwürdiger Effekt. Die Ursache liegt nicht im Change-Ereignis begründet. Auch bei einem Aufruf aus einem normalen Modul tritt der Effekt auf.
Dieser Aufruf führt zu einer Doppelmeldung:

Sub Test()
Application.Run "test.xls!modul_msg()"
End Sub

Dieser Aufruf führt zu einer einfachen Meldung:

Sub Test()
Application.Run "test.xls!modul_msg"
End Sub

Mir fällt als Lösung auch nichts weiter ein, als auf die Parameterübergabe zu verzichten und stattdessen den Wert von ActiveCell.Value zu melden.
gruss hans
Anzeige
AW: doppeltes ausführen der function
18.01.2005 07:59:46
Matthias
Hallo Kristin,
Application.Run erlaubt es auch, die Argumente hinten anzustellen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Run "modul.xla!modul_msg", Target
End Sub
So wird die Routine auch nur einmal aufgerufen.
Gruß Matthias
AW: doppeltes ausführen der function
18.01.2005 08:05:25
Hans
... genau, man lernt nie aus ;-)
gruss hans
juhu! :)
18.01.2005 14:39:50
Kristin
Hallo ihr beiden,
das hat geklappt - vielen Dank.
Ich wüsste nicht was ich ohne dieses Forum machen würde.
Ganz GROSSES Kompliment an alle, die hier so fleißig Fragen beantworten.
Liebe Grüße,
Kristin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige