Qual é o uso do símbolo ^ no Excel?
Mudei para o Excel de 64 bits há alguns anos atrás. Um dia não muito depois, comecei a ter problemas para conseguir que o operador de exponenciação trabalhasse corretamente em VBA. The third statement below kept having a runtime error.
- Dim a As Double, b As Double
- b = 2
- a = b^3
It turns out that Microsoft added the LongLong data type to 64-bit Excel to store really large integer values. O tipo de dados Integer armazena valores até 16.368 (16 bits). O tipo de dados LongLong armazena valores de até 2.147.483.648 (32 bits). O tipo de dados LongLong armazena valores de até 9.223.372.036.854.775.807 (64 bits).
O que eu não sabia na época, é que a Microsoft decidiu usar o caret como o caractere de declaração de tipo implícito. E é por isso que eu estava recebendo um erro. Para realizar a exponenciação no Excel de 64 bits, você precisa usar dois caretes em uma linha ou então anexar a variável entre parênteses para evitar ambiguidade. No Excel VBA de 32 bits, um único caractere é suficiente.
- Dim a As Double, b As Double
- Dim c^ 'c^ is a LongLong because of the implicit type character
- b = 2
- c^ = 2^^3 'c^ has a value of 8
- c^ = (b)^3 'c^ has a value of 8
- a = b^3 'Run-time error