SOLVED

In VBA how a create a 'log' calculation?

Copper Contributor

Hi, so I want to create a function in excel VBA that is it: '= 1.16650 - 0.07063 log (CX + SI+ SB)'

 

But I don't know how to make 'log' work, because I can't simply digit 'log', it will not allow, it will say 'it was expected: end of instruction' 

 

Sorry about my English, not my first language.

4 Replies

@rawlc 

In VBA, you have to specify multiplication explicitly by using *:

 

... = 1.1665 - 0.07063 * Log(CX + SI + SB)

Hi, thanks for the advising. In fact it work but the final result get wrong no matter what I do, I tried to specify by parentheses the order of the calcule but still didn't work properly.

best response confirmed by allyreckerman (Microsoft)
Solution

@rawlc 

Keep in mind that the Log function in VBA is the natural logarithm (base e = 2.7172...). It corresponds to the worksheet function LN, not to the worksheet function LOG (base 10).

If you need to use the 10-based logarithm, use

 

... = 1.1665 - 0.07063 * Log(CX + SI + SB) / Log(10)

Yes, thank you.
1 best response

Accepted Solutions
best response confirmed by allyreckerman (Microsoft)
Solution

@rawlc 

Keep in mind that the Log function in VBA is the natural logarithm (base e = 2.7172...). It corresponds to the worksheet function LN, not to the worksheet function LOG (base 10).

If you need to use the 10-based logarithm, use

 

... = 1.1665 - 0.07063 * Log(CX + SI + SB) / Log(10)

View solution in original post