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

WorksheetFunction

WorksheetFunction
13.03.2006 20:44:17
Eckart
Hallo an alle Excel-Experten,
Um von einem bestimmten Tabellen-Bereich die größte Länge aller Texteinträge zu ermitteln, benutze ich eine Array-Formel wie {=MAX(LÄNGE($G$1:$G$10403))}.
Doch wie kann ich mittels "WorksheetFunction" in VBA zum gleichen Ergebnis gelangen? Ich möchte in der Tabelle keine Array-Formel per VBA einfügen, um zum gewünschten Ergebnis zu gelangen.
Hat jemand eine Idee?

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: WorksheetFunction
13.03.2006 20:48:08
MichaV
Hallo,
MsgBox Evaluate("MAX(len($G$1:$G$10403))")
Gruß- Micha
PS: Rückmeldung wäre nett.
AW: WorksheetFunction
13.03.2006 20:56:50
Beate
Hallo,
die eckigen Klammern ersetzen Ausdruck EVALUATE:
Sub Test2()
    MsgBox [MAX(len($G$1:$G$10403))]
End Sub



Gruß,
Beate
AW: WorksheetFunction
13.03.2006 21:05:43
Eckart
Das ist ja Klasse, Danke an Beate und Micha
AW: WorksheetFunction
13.03.2006 21:15:07
chris
Hallo Micha, habe auch eine frage dazu.
Würde mich freuen wenn du mir die Infoe geben könntest.
Habe gerade mal die function in der Hilf nachschauen wollen aber verstehe diese gar nicht.
Deshalb wäre es nett von dir wenn du mir die function erklären könntest. UNd evtl noch ein kleines Beispiel dazu geben könntest.
In der Hilfe sehe ich nur das.
Diese Methode konvertiert einen Microsoft Excel-Namen in ein Objekt oder in einen Wert.
Leider kann ich nichts damit anfangen :(
Danke und gute n8 gruß Christian
Anzeige
AW: WorksheetFunction
13.03.2006 21:34:33
MichaV
Hallo Christian,
hm, ist vielleicht ist es besser, wenn Du Evaluate wörtlich nimmst: Auswerten. Die Methode wertet wie eine Excel- Zelle den String aus, der ihr übergeben wird. Im Unterschied zur Zelle erkennt Evaluate, ob es sich um eine Matrixformel handelt.
Hier ein super aufbereitetes Beispiel:
Guckst Du: Rechnen mit Text - Auswerten
etwas heftiger: http://www.online-excel.de/fom/fo_read.php?f=1&bzh=8528&h=8524
oder hier: http://www.excelformeln.de/formeln.html?welcher=264
oder aus meiner Hilfedatei:
Anmerkung: Die Verwendung eckiger Klammern (etwa "[A1:C5]") entspricht dem Aufruf der Evaluate-Methode mit einem String-Argument. Die folgenden Ausdruckspaare beispielsweise haben dieselbe Bedeutung:

[a1].Value = 25
Evaluate("A1").Value = 25
trigVariable = [SIN(45)]
trigVariable = Evaluate("SIN(45)")
Set firstCellInSheet = Workbooks("BOOK1.XLS").Sheets(4).[A1]
Set firstCellInSheet = _
Workbooks("BOOK1.XLS").Sheets(4).Evaluate("A1")

Der Vorzug bei der Verwendung eckiger Klammern liegt im kürzeren Code. Der Vorzug bei der Verwendung der Evaluate-Methode besteht darin, dass das Argument eine Zeichenfolge ist. Dies bedeutet, sie können die Zeichenfolge entweder direkt mit dem Code angeben oder eine Visual Basic-Variable verwenden.
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
kleine Korrektur
13.03.2006 21:55:54
MichaV
Hallo,
Die Methode wertet wie eine Excel- Zelle, die mit einem = anfängt, den String aus...
Gruß- Micha
AW: kleine Korrektur
13.03.2006 22:05:40
chris
Micha, das ist die beste erklärung die ich seid langem hatte.
Vielen Dank !!!
Zum anschauen der beispiellinks nehme ich mir aber erst morgen zeit !!
Vielen Dank und gute n8 !!!!!!
AW: kleine Korrektur
13.03.2006 22:15:55
MichaV
Hallo,
na das freut mich. Hier übrigens das gut aufbereitete Evaluate- Beispiel, was ich Dir eigentlich vorschlagen wollte. Das andere ist nur- Excel, aber umso interessanter.
Hier VBA- Evaluate: Guckst Du: Rechnen mit Text - Auswerten
Gruß- Micha
Anzeige
Evaluate - Formelübersetzung
13.03.2006 22:49:25
Beate
Hallo zusammen,
ergänzend hier noch ein Tipp von {Boris}, wie man die Formeln für VBA leicht übersetzen kann:
http://www.excel-center.de/foren/read.php?2,11414,11421#msg-11421
Was ich auch praktisch zur Übersetzung finde:
- Wenn man in einer Zelle die korrekte Formel hat, diese Zelle aktivieren
- dann in die VBA-Umgebung (mit Alt + F11) wechseln
- dort im Direktbereich eingeben: ?activeCell.Formula
- Enter drücken - sofort hat man die perfekte Formelübersetzung!
Gruß,
Beate
AW: Evaluate - Formelübersetzung
13.03.2006 23:01:48
MichaV
Hallo,
danke, Beate. Ich hab bisher immer den Makrorecorder angeworfen, die Formel eingetippelt (oder reinkopiert) und dann geschaut, was der Recorder aufgezeichnet hat.
?activeCell.Formula ist da wirklich etwas bequemer.
Gruß- Micha
Anzeige
Nachtrag bezüglich Evaluate
14.03.2006 00:59:08
Beate
Damit keine Verwirrung entsteht: Geschweifte Klammern werden beim Einsatz mit Evaluate nicht miteingegeben!
Gruß,
Beate
Anzeige
Evaluate vs. =
14.03.2006 19:23:41
MichaV
Hallo Beate,
Geschweifte Klammern werden beim Einsatz mit Evaluate nicht miteingegeben!
das ist doch toll, oder?
Nun meine nachdenkliche Frage: Wenn Evaluate Matrixformeln automatisch erkennt, warum kann eine Excel- Zelle das nicht?
Gruß- Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige