anderson.lrv Posted December 20, 2012 at 12:11 PM Report #487924 Posted December 20, 2012 at 12:11 PM Private Sub Worksheet_Selectionchange(ByVal Target As Range) If Range("A1:A10").Value = 300 Then Call METANOL End If End Sub ___________________________ DA ERRO DE EXECUÇÃO 13 TIPOS INCOMPATÍVEIS OQ TA FALTANDO?
vbalexandre Posted December 20, 2012 at 03:00 PM Report #487949 Posted December 20, 2012 at 03:00 PM Boa tarde!! Já tenteou... Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub Else If Range("A1:A10").Value = 300 Then Call METANOL End If Application.EnableEvents = True End Sub Não testado!
anderson.lrv Posted December 21, 2012 at 10:28 AM Author Report #488021 Posted December 21, 2012 at 10:28 AM Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub Else If Range("A1:A10").Value = 300 Then Call METANOL End If Application.EnableEvents = True End Sub ERRO DE COMPILAÇÃO BLOCO IF SEM END IF E TEM HORAS Q NÃO ABRE NADA.
jpaulino Posted December 21, 2012 at 08:20 PM Report #488067 Posted December 21, 2012 at 08:20 PM Dessa forma não funciona ... não podes comparar um intervalo (A1:A10) a um valor, apenas uma célula (A1 ou A2 por exemplo) Qual é o objectivo?
falco Posted December 22, 2012 at 12:21 PM Report #488093 Posted December 22, 2012 at 12:21 PM Há dois event handlers relacionados o Worksheet_change e o Worksheet_calculate... O primeiro é um evento provocado pelo utilizador, o segundo por uma formula que (re-)calculou o seu resultado. Nem acredito que sou o único a dizer isto...
sergio.costa Posted December 23, 2012 at 03:36 PM Report #488175 Posted December 23, 2012 at 03:36 PM Codigo (Visual Basic): Private Sub Worksheet_Change(Val Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub Else If Range("A1:A10").Value = 300 Then Call METANOL End If End If Application.EnableEvents = True End Sub Seria a solução para o erro dos if's No entanto eu concordo o jpaulino, nao podes fazer essa comparação. Deves trazer o valor de cada celula para variaveis e compara-las uma a uma.. Ex.: se o teu objectivo e coparar a soma das celulas Se value(A1) + value(A2) + ... + value(A10) = 300 entao Faz qualquer coisa Fim Se Ou entao se qualquer um do valor das celulas for 300 Dim j as integer Para j = 1 to 10 Se value(A j) = 300 entao Fazer qualquer coisa Fim Se Proximo Nao sei se e isto que queres?
anderson.lrv Posted December 26, 2012 at 02:42 PM Author Report #488441 Posted December 26, 2012 at 02:42 PM Bom Dia. estou tentando todas as opções mais não ta dando certo. o meu objetivo é: eu tenho uma coluna com uma sequencia de formulas que todo dia vai alterando este valor devido eu colocar um consumo de um produto em outra célula, e quando ele der o valor de 300 é que meu estoque está baixo dai ele aparece a mensagem Sub METANOL() MsgBox "VERIFICAR O NÍVEL DO TANQUE DE METANOL." _ , vbInformation + vbOKOnly, "FIAGRIL - BIODIESEL!!" End Sub teria que colocar na coluna inteira está sequencia .
jpaulino Posted December 26, 2012 at 08:20 PM Report #488505 Posted December 26, 2012 at 08:20 PM teria que colocar na coluna inteira está sequencia Não, podes usar a função WorksheetFunction para verificares o valor que está na coluna. Assim deve funcionar: Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Set rng = Range("A1:A10") If Not Intersect(Target, rng) Is Nothing Then If Application.WorksheetFunction.Sum(rng) = 300 Then Call METANOL End If End If End Sub
anderson.lrv Posted December 27, 2012 at 10:49 AM Author Report #488574 Posted December 27, 2012 at 10:49 AM obrigado jpaulino deu certo, está executando a macro perfeitamente. quando eu digito a macro executa, será que tem como executar a macro nestas mesmas sequencia só que em vez de eu digitar na celular ela executar na celular que esta com uma formula.
FreiNando Posted December 29, 2012 at 09:33 AM Report #488916 Posted December 29, 2012 at 09:33 AM Já foi respondido: Há dois event handlers relacionados o Worksheet_change e o Worksheet_calculate... O primeiro é um evento provocado pelo utilizador, o segundo por uma formula que (re-)calculou o seu resultado. Nem acredito que sou o único a dizer isto... Lê não só o que te interessa, mas também o que é do teu interesse. O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now