Hallo Rainer,
*gg* das sieht ja putzig aus.
VBA hat eben doch noch ein
paar Funktionen, die VB nicht kennt.
Stimmt, leider hat jedes VBa (Excel,Word,Access,CorelDraw,Outlook,…) wiederum eigene Funktionen.
Wie du eins untendrunter zu SQL gesagt hast, eingebaute Excelfunktionen sind auch zigmal schneller als alle Vb oder Vba-Versuche. Manche sprechen von 1000mal schneller.
Mangels XL2007 kann ich es nicht testen, aber wenn ich die Gesamtsumme aller Zellen in 1 Million Zeilen und 16xxx Spalten haben will, so gebe ich einfach ein:
=Summe(„A1:ZZZ1000000“)
und kann mutmaßlich das Ergebnis gleich ablesen.
Alle Zellen per Vba abklappern kann schon sehr viel länger dauern.
Und mit
Application.Worksheetfunction
hat man Zugriff auf alle normalen Excelfunktionen wie Summe, usw.
Substitute entspricht der Excelfunktion Wechseln() (oder Ersetzen(), weiß grad nicht).
Ich nehme an Replace aus VB macht annähernd das gleiche, also Zeichenketten in einem String wechseln/ersetzen, zur Not gegen „“.
Die deutschen Begriffe in Excel wie z.B. Summe müssen in Excel-Vba durch die englischen Worte ersetzt werden, also hier Sum.
Es gibt da ein nettes Add-Inn (von HansHerber) das sich im VB-Editor installiert, dann langt es z.B. „Summe“ auszuwählen, automatisch wird dann im Code Application.Worksheetfunction.Sum eingetragen.
Bei Interesse kann ich dir das schicken bzw. den Link zum Runterladen.
Denn manche Übersetzungen sind nicht so daß man sie erraten könnte, ZählenWenn–>CountIf geht ja, aber daß Sverweis auf englisch vlookup heißt kann man nicht erahnen…
Gruß
Reinhard