Tabellenfunktionen in VBA

13/08/2009 - 14:44 von Mark Ise | Report spam
Hallo,

gibt es einen Grund, Tabellenfunktionen nicht in VBA-Makros zu
verwenden, oder gibt es für viele Dinge gar keine echte Alternative dazu?

Ich habe mir die Funktionen Find() und Match() angesehen.
Find funktioniert wunderbar, aber bei Match hagelt es Fehlermeldungen:


MsgBox Range("a1:c20").Find("sd", LookIn:=xlValues).Column

MsgBox Application.Worksheetfunction.Match("sd", Range("A1:C20"), 0)


Meldung:
"Die Matcheigenschaft des Worksheetfunktions-Objekts kann nicht
zugeordnet werden."


[Excel2000]
Mark
 

Lesen sie die antworten

#1 {Boris}
13/08/2009 - 15:02 | Warnen spam
Hi Mark,

On 13 Aug., 14:44, Mark Ise wrote:
Hallo,

gibt es einen Grund, Tabellenfunktionen nicht in VBA-Makros zu
verwenden, oder gibt es für viele Dinge gar keine echte Alternative dazu?

Ich habe mir die Funktionen Find() und Match() angesehen.
Find funktioniert wunderbar, aber bei Match hagelt es Fehlermeldungen:

MsgBox Range("a1:c20").Find("sd", LookIn:=xlValues).Column

MsgBox Application.Worksheetfunction.Match("sd", Range("A1:C20"), 0)

Meldung:
"Die Matcheigenschaft des Worksheetfunktions-Objekts kann nicht
zugeordnet werden."

[Excel2000]
Mark



1.) Match (Vergleich) kannst Du nicht auf eine mehrspaltige Matrix
anwenden - daher der Fehler
2.) Find ist eine eigene VBA-Methode und liefert zunàchst mal
*Nothing*, wenn nichts gefunden wurde. Solange Du darauf nicht direkt
ne Eigenschaft (in Deinem Fall *Column*) sattelst, ist diese Methode
a) super schnell und làsst sich b) sehr gut hàndeln. Die
Tabellenfunktion Match hingegen liefert bei Nichtvorhandensein des
Suchbegriffs N/A (Not Available) - und das ist weniger elegant zu
hàndeln wie die Find-Methode.
Grundsàtzlich aber kann es durchaus sinnvoll sein, auf
Tabellenfunktionen (Worksheetfunctions) zurückzugreifen.

Grüße Boris

Ähnliche fragen