-
Posts
90 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Jeff_Sandes postou
-
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
-
Excel Beep no VBA alterando a frequência e duração
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
Funcionou!!! -
Excel Beep no VBA alterando a frequência e duração
Jeff_Sandes postou um tópico em Microsoft Office e similares
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. -
Excel Como adicionar opções numa ComboBox
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
-
Excel Como adicionar opções numa ComboBox
Jeff_Sandes postou um tópico em Microsoft Office e similares
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. -
Excel Output diferente do input
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
Funcionou! -
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?
-
Excel UserForm para coleta de dados
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
Ahhh! Agora entendi, o valor do TextBox vai escrever na célula e o valor da célula vai escrever no RangetoPoke -
Excel UserForm para coleta de dados
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
tem como você escrever um exemplo? Estou tentando mas sempre dá erro de compilação, ainda sou iniciante no VBA -
Excel UserForm para coleta de dados
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
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 -
Excel UserForm para coleta de dados
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
não foi declarado, a pena substituí para dar um exemplo com base no exemplo funcional acima. -
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.
-
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
-
É possível criar uma Inputbox em VBA onde os caracteres digitados são mascarados com *** para evitar visualização da senha?
-
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
-
Excel simplificar Macro VBA reduzindo repetições
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
@Midori funcionou perfeitamente -
Excel simplificar Macro VBA reduzindo repetições
Jeff_Sandes postou um tópico em Microsoft Office e similares
Como simplificar esse trecho da macro? evitando repetições da mesma instrução sub teste() [Z10].Value = "0": [Z10].AutoFill [Z10:Z59], xlFillSeries [A9].Value = "0": [A9].AutoFill [A9:AX9], xlFillSeries [AY1].Value = "0": [AY1].AutoFill [AY1:AY59], xlFillSeries [AZ9].Value = "0": [AZ9].AutoFill [AZ9:BW9], xlFillSeries [B7].Value = "00:00": [B7].AutoFill [B7:B31], xlFillSeries [BQ1].Value = "1": [BQ1].AutoFill [BQ1:BT1], xlFillSeries end sub tentei pegar uma ideia no ChatGPT, mas mesmo a IA não deu uma resposta boa Sub FillSeriesAndTime() Dim Ranges As Variant Dim RowRange As Range Ranges = Array( _ [Z10:Z59], [A9:AX9], [AY1:AY59], _ [AZ9:BW9],[B7:B31], [BQ1:BT1]) For Each RowRange In Ranges RowRange.Cells(1, 1).Value = "0" RowRange.Cells(1, 1).AutoFill RowRange, xlFillSeries Next RowRange [B7].Value = "00:00" [B7].AutoFill [B7:B31], xlFillSeries [BQ1].Value = "1" [BQ1].AutoFill [BQ1:BT1], xlFillSeries End Sub achei interessante o uso de array, assim posso apenas alterar os elementos dentro da array, mas assim não funcionou, a variável 'RowRange' recebe o valor Nothing -
Excel Loop com valor de células na fórmula
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
-
Excel Loop com valor de células na fórmula
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
percebi um erro e corriji, mas agora os valores não vem em formato de tempo Sub teste() Dim inicio As Integer contador = 14 For inicio = 1 To contador Cells(inicio, 58) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF01.SP_RZ"",""" & Range("BE" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 59) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF02.SP_RZ"",""" & Range("BE" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 60) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF03.SP_RZ"",""" & Range("BE" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 61) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF04.SP_RZ"",""" & Range("BE" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 62) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF05.SP_RZ"",""" & Range("BE" & inicio).Value & ":00"",0,"""",""previous"")" Next inicio End Sub tentei colocar Format mas mesmo assim o resultado dá FALSO Sub pregos() Dim inicio As Integer contador = 14 For inicio = 1 To contador Cells(inicio, 58) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF01.SP_RZ"",""" & Range("BE" & inicio).Value = Format(Time, "00:00") & ":00"",0,"""",""previous"")" Cells(inicio, 59) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF02.SP_RZ"",""" & Range("BE" & inicio).Value = Format(Time, "00:00") & ":00"",0,"""",""previous"")" Cells(inicio, 60) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF03.SP_RZ"",""" & Range("BE" & inicio).Value = Format(Time, "00:00") & ":00"",0,"""",""previous"")" Cells(inicio, 61) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF04.SP_RZ"",""" & Range("BE" & inicio).Value = Format(Time, "00:00") & ":00"",0,"""",""previous"")" Cells(inicio, 62) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF05.SP_RZ"",""" & Range("BE" & inicio).Value = Format(Time, "00:00") & ":00"",0,"""",""previous"")" Next inicio End Sub -
Excel Loop com valor de células na fórmula
Jeff_Sandes postou um tópico em Microsoft Office e similares
como fazer um loop o vba para inserir o valor das células dentro da fómula? tentei assim mas o vba ignorou os valores das células For inicio = 1 To contador Cells(inicio, 58) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF01.SP_RZ"",""" & Range("BF" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 59) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF02.SP_RZ"",""" & Range("BG" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 60) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF03.SP_RZ"",""" & Range("BH" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 61) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF04.SP_RZ"",""" & Range("BI" & inicio).Value & ":00"",0,"""",""previous"")" Cells(inicio, 62) = "=PIArcVal(""\\AUT-FTV-HST-01\CALC_530BWF05.SP_RZ"",""" & Range("BJ" & inicio).Value & ":00"",0,"""",""previous"")" Next inicio na imagem mostra a coluna com as horas que deveriam entrar na fórmula -
Excel análise de dados no excel
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
caso eu precise mudar o formato das horas para 'HH:MM' e mudar a área onde o resultado seja deslocado, como faço? Tentei mudar os formatos e mover para a coluna AZ, mas não deu -
Tenho uma tabela com a combinação de produtos A,B,C,D e E, o momento em que os produtos foram adicionados estão organizadas em ordem vertical, porém não há a organização horizontal, estou tentando desenvolver uma macro VBA para organizar horizontalmente os dados dispostos nas células. Abaixo segue a imagem de como vem e como gostaria de desenvolver, à esquerda é como os dados vem e à direita é como deveriam estar, além de mostrar as combinações dos produtos em células separadas. Seria possível fazer essa análise célula a células deslocando que para baixo os valores que não correspondem a ordem horizontal?
-
Excel Análise de dados de uma tabela
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
@Midori Funcionou perfeitamente !! Obrigado!! -
tenho uma planilha que está organizada da seguinte maneira, a primeira linha está preenchida de 0 a 23, localizada na célula B1 a Y1, na primeira coluna está preenchida de 0 a 59, localizada na célula A2 até a célula A61, no intervalo de células B2 a Y61 há números com valores aleatórios dentro das células, será possível criar uma macro capaz de percorrer a célula B2 até a célula Y61, o percurso deverá seguir a seguinte ordem B2, B3, B4, B5... ao chegar na célula B61, a macro deverá seguir para a coluna ao lado ,C, seguindo a mesma ordem até a célula Y61, analisando o valor dentro de cada célula e registrando se houve mudanças de valor entre a célula atual e a anterior, se houver mudança, a posição dessas mudanças deverá ser registradas em relação as linhas A2 a A61 e as colunas B1 a Y1, utilizando os números dispostos nelas, para formar a informação de hora e minuto dessa mudança( sendo horas colunas e minutos linhas), após identificar a posição de cada mudança, essas informações serão colocadas na coluna Z. no exemplo a cima temos a posição 6 e 15, coluna 6 e linha 15, significa dizer que às 06:15 houve uma mudança.
-
Excel Loop para preencher células
Jeff_Sandes respondeu ao tópico de Jeff_Sandes em Microsoft Office e similares
@Wendell Menezes funcionou para os textos, mas como seria para os alinhamentos e fontes? Dá pra encaixar dentro do loop? @Wendell Menezes Consegui resolver, basta colocar os parâmetros.
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