Se tens texto, tem que ser string.
Depois no programa, testas se é número ou convertes para número, se não for número, então é string
Computador lento
-
- Velha Guarda
- Mensagens: 1085
- Registado: 26 fev 2009, 18:21
- Has thanked: 5 times
- Been thanked: 3 times
Re: Computador lento
Amigo nokPT, não estou a conseguir entra no no VBA do Excel. Está-me a faltar algum suplemento no excel?nokPT Escreveu:Electro 99 Escreveu: Mas, referes-te às Macros? Às vezes tenho alguma dificuldade de relacionar a linguagem VB com o excel
/quote]
Eu também tenho alguma dificuldade, mas com algum trabalho (não é tão directo como .NET) vai-se lá.
Tens que seguir os passos do JPaulino e criar uma função que retorne string (ou outro que te dê mais jeito) com uma série de variáveis:
P24
E24
AD24
AJ24
AP24
G24
K24
O24+K24
Por exemplo.
Depois é só fazer ifs ou case como te der mais jeito e retornar o resultado.
Experimenta assim:
Function Fórmula(P As String, E As String, AD As Single, AJ As Single, AP As Single, G As String, O As Single, K As Single) As String
Dim Resultado As String
If P = "" Or E = "x" Then
Resultado = ""
Else
If P = "TOT.CAPIT." Then
Resultado = Moeda(AD, 2)
ElseIf P = "SUB-TOTAL" Then
Resultado = Moeda(AJ, 2)
ElseIf P = "TOTAL" Then
Resultado = Moeda(AP, 2)
Else
If G = "x" Then
Resultado = K
Else
Resultado = O + K
End If
End If
End If
End Function
Outra questão, porque é que estás a usar a função moeda, porque que não te limitas a formatar as células para moeda (Ctrl+F1)?
Já agora mais 1 nota que me esqueci (e não sei se sabes): se optares pelo cálculo manual, na barra de baixo de excel, vai-te a aparecer a informação "Pressione F9 para calcular" sempre que o programa detectar que há alterações para calcular.
-
- Velha Guarda
- Mensagens: 1085
- Registado: 26 fev 2009, 18:21
- Has thanked: 5 times
- Been thanked: 3 times