Logo Hardware.com.br
Alexpctech
Alexpctech Membro Junior Registrado
54 Mensagens 3 Curtidas

[Resolvido] Colocar fórmula "SE" no VBA.

#1 Por Alexpctech 25/11/2021 - 19:16
Na célula B9, o caminho que esta ali, eu preciso colocar no vba, assim fica tudo centralizado no código.

Será que poderiam me ajudar?

Não entendo nada de VBA...

Ela toca um som quando é verdadeira uma regra em "SE"

Isso vai na célula B9

=SE(OU('[INDICE TP-FUNDO.xlsx]Simulado'!$B$10="COMPRA";'[INDICE TP-FUNDO.xlsx]Simulado'!$B$12="VENDE");SoundMe();"AGUARDANDO")


############################

[HASHTAG]#If[/HASHTAG] Win64 Then

Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _

Alias "PlaySoundA" (ByVal lpszName As String, _

ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean

[HASHTAG]#Else[/HASHTAG]

Private Declare Function PlaySound Lib "winmm.dll" _

Alias "PlaySoundA" (ByVal lpszName As String, _

ByVal hModule As Long, ByVal dwFlags As Long) As Boolean

[HASHTAG]#End[/HASHTAG] If

Const SND_SYNC = &H0

Const SND_ASYNC = &H1

Const SND_FILENAME = &H20000

Function SoundMe() As String

'Updateby Extendoffice 20161223

Call PlaySound("c:\windows\media\Ring08.wav", _

0, SND_ASYNC Or SND_FILENAME)

SoundMe = ""

End Function

#############################


Eu consegui um amigo que tentou me ajudar. Mas esta dando esse erro agora...

O erro esta em anexo...
##############
O VBA dele esta logo abaixo:
###############

Na celula B9:
=SoundMe()
################

[HASHTAG]#If[/HASHTAG] Win64 Then
Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean
[HASHTAG]#Else[/HASHTAG]
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
[HASHTAG]#End[/HASHTAG] If

Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000


Function SoundMe() As String
Dim wbk As Workbook
Dim wsh As Worksheet
Set wbk = Workbooks("INDICE TP-FUNDO.xlsx")
Set wsh = wbk.Worksheets("Simulado")
If wbk.Range("B10").Value = "COMPRA" Or wbk.Range("B12").Value = "VENDE" Then
Call PlaySound("c:\windows\media\Ring08.wav", 0, SND_ASYNC Or SND_FILENAME)
End If
End Function
################

Anexos

ThiagoAlves1999
ThiagoAlves1... Membro Junior Registrado
20 Mensagens 10 Curtidas
#3 Por ThiagoAlves1...
07/12/2021 - 22:09
Uma solução seria por o código =SE(OU('[INDICE TP-FUNDO.xlsx]Simulado'!$B$10="COMPRA";'[INDICE TP-FUNDO.xlsx]Simulado'!$B$12="VENDE").....
Dentro do método Evaluate()
Que retorna a resolução de uma fórmula como se fosse uma celula no Excel

Segue artigo na Microsoft para uma melhor compreensão.

https://docs.microsoft.com/pt-br/office/vba/api/excel.application.evaluate
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal