Ir ao conteúdo
  • Cadastre-se

Jeff_Sandes

Membro Pleno
  • Posts

    90
  • Cadastrado em

  • Última visita

Reputação

4
  1. Tem uma forma de executar uma macro vba com base no estado da célula? Tentei fazer assim mas não está executando Private Sub Worksheet_Change() If Range("A1").Value = "vermelho" Then Range("A1:Z1").Interior.Color = RGB(255, 0, 0) ' Vermelho End If End Sub
  2. Tem um jeito simples de soltar um beep com uma frequência específica com uma duração específica em VBA? As formas que acho na internet usam o código muito extenso.
  3. Como adicionar uma ComboBox com opções prévias para seleção e usar essas opções no código como variáveis. um exemplo de código.
  4. 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?
  5. Ahhh! Agora entendi, o valor do TextBox vai escrever na célula e o valor da célula vai escrever no RangetoPoke
  6. tem como você escrever um exemplo? Estou tentando mas sempre dá erro de compilação, ainda sou iniciante no VBA
  7. Fiz assim, porém dá erro de objeto obrigatório. Private Sub Validar_Click() DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="MOAGEM") DDEItem = "PERDA_AO_FOGO" Set Rangetopoke.Value = LABORATORIO.TextBox_01.Value Application.DDEPoke DDEChannel, DDEItem, Rangetopoke Application.DDETerminate DDEChannel Unload LABORATORIO End Sub
  8. não foi declarado, a pena substituí para dar um exemplo com base no exemplo funcional acima.
  9. Estou tentando fazer um UserForm para coleta de dados e estou usando uma DDE(Dynamic Data Exchange) para fazer a comunicação entre a planilha e o software de comunicação, porém o modelo que o suporte do próprio software fornece é o seguinte: assim funciona Private Sub Validar_Click() DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="MOAGEM") DDEItem = "PERDA_AO_FOGO" Set Rangetopoke = Worksheets("Planilha1").Range("B3") Application.DDEPoke DDEChannel, DDEItem, Rangetopoke Application.DDETerminate DDEChannel End Sub porém eu gostaria de mudar o valor 'Rangetopoke' para o valor de um textbox como no exemplo abaixo (Não funcional): Private Sub Validar_Click() DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="MOAGEM") DDEItem = "PERDA_AO_FOGO" Rangetopoke = LABORATORIO.TextBox_01.Value 'LABORATORIO UserForm Application.DDEPoke DDEChannel, DDEItem, Rangetopoke Application.DDETerminate DDEChannel Unload LABORATORIO End Sub Nenhum erro apresenta porém não executa nada.
  10. Estou desenvolvendo uma aplicação em um software que é base VBA, tem um elemento que é uma Numeric Display, preciso que sempre que o número que apareça nessa Numeric Display for um numero primo, ele vai executar outra parte do código, tentei com uma função (Gerada pelo ChatGPT) e não funcionou (Como era de se esperar). Queria evitar uso de funções, pois o software é bem limitado e fácil de causar erros por problemas de compilação, segue o código abaixo. Private Sub Sekunden_Change() On Error GoTo ErrorHandler If Synchronizer(Sekunden.Value) Then ExecuteCommand "DataWrite" Else ExecuteCommand "DataRead" End If Exit Sub ErrorHandler: LogDiagnosticsMessage Err.Description, ftDiagSeverityError End Sub Function Synchronizer(ByVal Numero As Integer) As Boolean Dim i As Integer If Numero < 2 Then IsPrimo = False Exit Function End If For i = 2 To Int(Sqr(Numero)) If Numero Mod i = 0 Then IsPrimo = False Exit Function End If Next i IsPrimo = True End Function
  11. É possível criar uma Inputbox em VBA onde os caracteres digitados são mascarados com *** para evitar visualização da senha?
  12. alguém tem um 'projetinho' pronto em Swift com uma UI para autenticar usuário? algum exemplo de programa que só passa para a próxima tela se as condições inseridas forem verdadeiras

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...