Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Natürlicher Logarithmus

Forumthread: Natürlicher Logarithmus

Natürlicher Logarithmus
25.04.2003 13:06:07
Thomas
hallo

Ich benutze Excel / VBA Version2.0. In einem Makro möchte ich einen natürlichen Logarithmus (Ln) benutzen. Beim Debuggen erhalte ich aber eine Fehlermeldung wegen dem "Ln".
Warum geht das beim VBA nicht?
Wenn ich die Formel jedoch in der Excel-Tabelle berechnen lasse, gibt es keine Probleme.

danke
Gruss Thomas

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Natürlicher Logarithmus
25.04.2003 14:01:00
Andy

du musst vor das ln den befehlt application.worksheetfunction stellen

wenn du den natürlichen logarithmus des quotienten zweier variablen aus zelle b1 und c1 in zelle a1 ausgeben möchtest sieht das so aus.

Sub thomas()
Dim a As Double
Dim b As Double

a = Range("b1").Value
b = Range("c1").Value
Range("a1").Value = Application.WorksheetFunction.Ln(a / b)


End Sub

Grüße

Andy

Anzeige
Re: Natürlicher Logarithmus
25.04.2003 14:31:33
Michael Scheffler

Hi,

warum einfach, wenn es auch kompliziert geht:

Log ist die Antwort!

Ln(a/b) kann man auch schreiben als:-)

Log(a) - Log(b)

Gruß

Micha

Re: Natürlicher Logarithmus
25.04.2003 15:08:12
Andy

Lieber Micha,

an sich stimmt deine rechenregel. nur ist das problem, dass ln der logarithmus zur basis e (eulersche zahl) ist und log zu jeder beliebigen zahl. ohne angaben ist der log immer zur basis 10. Wenn dann also ln(a)-ln(b).
Ich glaube aber, dass es thomas um den Befehl ging, und dass application.worksheetfunction davor muss.

schönes wochenende

andy

Anzeige
@Andy
25.04.2003 15:18:43
Michael Scheffler

Hi Andy,

eben nicht.

Log heißt die Antwort füre VB/VBA. Schau bitte in die Hilfe!

Man braucht für den natürlichen Log (Ln) eben nur Log, wenn Du Log 10 haben willst, ein Beispiel zur Umrechnung ist in der Hilfe zu Log!

Glauben heißt nicht wissen:-)

Gruß

Micha

Re: @Andy
25.04.2003 22:17:03
HansK

Hi Micha,
eben nicht!

Ln() ist der natürliche Logarithmus einer Zahl. Syntax: ln(Zahl)
Basis ist die Eulersche Zahl)

Log() ist der Logarithmus einer Zahl zu einer beliebigen Basis.
Syntax: log(Zahl;Basis)
Wenn Basis nicht angegeben wird, wird automatisch 10 als Basis vorausgesetzt.

Hieraus folgert: ln(1) = log(1;e) = 0

Schau mal in der HILFE nach.

Warum dies aber im VB-Code nicht funzt, kann ich nicht erklären.

mfg HansK

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Natürlicher Logarithmus in Excel und VBA


Schritt-für-Schritt-Anleitung

Um den natürlichen Logarithmus (Ln) in Excel zu berechnen, kannst du die LN()-Funktion verwenden. Hier sind die Schritte:

  1. Öffne Excel: Stelle sicher, dass du eine Excel-Version verwendest, die die LN()-Funktion unterstützt.
  2. Gib eine Zahl ein: Trage die Zahl, deren natürlicher Logarithmus du berechnen möchtest, in eine Zelle ein (z. B. A1).
  3. Verwende die LN-Funktion: In einer anderen Zelle (z. B. B1) gib die Formel ein:
    =LN(A1)
  4. Drücke Enter: Die Zelle B1 zeigt jetzt den natürlichen Logarithmus der Zahl in A1 an.

Wenn du VBA verwenden möchtest, um den natürlichen Logarithmus zu berechnen, gehe wie folgt vor:

  1. Öffne den VBA-Editor: Drücke ALT + F11.
  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf VBAProject und wähle Einfügen > Modul.
  3. Gib den folgenden Code ein:
    Sub BerechneLn()
       Dim zahl As Double
       zahl = Range("A1").Value
       Range("B1").Value = Application.WorksheetFunction.Ln(zahl)
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und führe das Makro aus, um das Ergebnis in Zelle B1 zu sehen.

Häufige Fehler und Lösungen

  • Fehlermeldung beim Einsatz von Ln in VBA: Wenn du Ln() in VBA verwendest, musst du Application.WorksheetFunction.Ln() verwenden, um den natürlichen Logarithmus korrekt zu berechnen.
  • Negative oder Null-Werte: Der natürliche Logarithmus ist für negative Zahlen und Null nicht definiert. Stelle sicher, dass die Eingabewerte positiv sind, um Fehler zu vermeiden.

Alternative Methoden

Wenn du den natürlichen Logarithmus in Excel nicht direkt berechnen möchtest, kannst du ihn auch mit der Umrechnungsformel für Logarithmen berechnen:

  • Logarithmus zur Basis e umrechnen: Verwende die Regel:
    LN(x) = LOG(x, e)

    Dabei ist e die eulersche Zahl, die du in Excel mit EXP(1) berechnen kannst.


Praktische Beispiele

  1. Einfacher natürlicher Logarithmus:

    • Wenn du beispielsweise den natürlichen Logarithmus von 10 berechnen möchtest, gib in Zelle A1 10 ein und verwende die Formel =LN(A1) in B1.
  2. Verwendung im Makro:

    • Hier ein Beispiel für ein Makro, das den natürlichen Logarithmus von zwei Variablen berechnet:
      Sub LnVonZweiVariablen()
      Dim a As Double
      Dim b As Double
      a = Range("B1").Value
      b = Range("C1").Value
      Range("A1").Value = Application.WorksheetFunction.Ln(a / b)
      End Sub

Tipps für Profis

  • Verwendung von e in Formeln: Du kannst die eulersche Zahl (e) in Excel auch direkt verwenden, indem du EXP(1) nutzt. Dies ist nützlich, wenn du Logarithmen zur Basis e benötigst.
  • Makros optimieren: Wenn du häufig mit Logarithmen arbeitest, erstelle eine benutzerdefinierte VBA-Funktion, die das Berechnen des natürlichen Logarithmus vereinfacht.

FAQ: Häufige Fragen

1. Was ist der natürliche Logarithmus?
Der natürliche Logarithmus ist der Logarithmus zur Basis der eulerschen Zahl (ungefähr 2,71828). In Excel wird er mit der Funktion LN() berechnet.

2. Wie kann ich einen anderen Logarithmus berechnen?
Verwende die LOG()-Funktion in Excel, um den Logarithmus zur Basis 10 oder einer anderen Basis zu berechnen. Die Syntax lautet LOG(Zahl, Basis).

3. Warum funktioniert Ln() in VBA nicht?
In VBA musst du Application.WorksheetFunction.Ln() verwenden, um den natürlichen Logarithmus korrekt zu berechnen, anstatt Ln() direkt aufzurufen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige