Estou desenvolvendo uma macro VBA que usa DDE para comunicação com um software de automação (RSLinx Classic OEM), a macro possui um userForm com uma TextBox que o usuário digita uma hora, porém ao executar a macro a saída no software vira um número decimal do tipo String.
Private Sub Validar_Click()
Dim DDEItem As String
Dim Rangetopoke1 As Range
Dim horaColetaValue As String
DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="MOAGEM")
DDEItem = "Hora_coleta_lab"
horaColetaValue = Format(Me.HoraDaColeta.Value, "hh:mm")
Set Rangetopoke1 = ActiveSheet.Range("C1000000")
Rangetopoke1.Value = horaColetaValue
Application.DDEPoke DDEChannel, DDEItem, Rangetopoke1
Application.DDETerminate DDEChannel
Unload LABORATORIO
End Sub
quando digito 00:00 no textbox o resultado final é 0 em string, se eu digitar 23:59 o resultado fica 0,999305555555556
o resultado no software final fica assim:
tem alguma forma de manter a string original no resultado final via VBA ou é necessário fazer algum ajuste no próprio software?