Ir ao conteúdo
  • Cadastre-se

Wendell Menezes

Membro Pleno
  • Posts

    550
  • Cadastrado em

  • Última visita

Tudo que Wendell Menezes postou

  1. Obrigado, agora pode explicar passo a passo o que a macro deve fazer? A Planilha relatório possui muito mais colunas do que a planilha de cálculo possui de dias. Explique mais ou menos assim: 1. Copiar C2:C55 da planilha de relatório e colar em E10 da aba "ENTRADA DE DADOS" da planilha de cálculos. 2. Copiar... 3. Copiar... 4. Salvar a planilha "x" com o nome da coluna "y" na pasta "z" do meu computador.
  2. Olá, Para que mostre a linha e os valores: Body = Body & Cell.Row & " = " & Cell & vbLf Para que mostre apenas os valores: Body = Body & Cell & vbLf
  3. Sim, dá pra fazer, mas poste uma cópia da sua planilha de cálculo já com dados para facilitar a nossa vida.
  4. Experimente assim: Range("A" & ActiveCell.Row).Value = nCracha2 Se der certo é só replicar para as outras 3 colunas
  5. Sub InserirLinha() Dim LR As Long LR = Cells(Rows.Count, 3).End(xlUp).Row Application.ScreenUpdating = False If Cells(LR, 1) <> "" Or Cells(LR, 2) <> "" Then Range(Cells(LR, 3), Cells(LR, 10)).Copy Range(Cells(LR, 3), Cells(LR, 10)).Offset(1, 0) Application.CutCopyMode = False End If Application.ScreenUpdating = True End Sub
  6. E qual é a lógica que você usa no dia-a-dia para fazer esse tipo de comparação? Supondo por exemplo que tenha uma matéria prima que tenha todos os índices de qualidade próximos do ideal, mas com um índice de impureza horrível (10 vezes acima do normal). Nesse exemplo: A. A matéria prima é semelhante porque 10 dos 11 atributos são semelhantes. ou B. A matéria prima não é semelhante poque um dos índices é fora do desvio padrão? você precisa fornecer esses e quaisquer outros detalhes do que você precisa que seja feito, caso contrário seu tópico fica meio que "não sei nada e preciso de tudo", o que acaba desencorajando as pessoas que poderiam te ajudar.
  7. =[@data]-data.valor("01/01/"&ano([@data]))+se([@hora]>0,25;0;-1)
  8. Então você precisa juntar o conteúdo dos dois para que fique apenas um.
  9. Assim? Private Sub Worksheet_Change(ByVal Target As Range) Dim c1 As Range, c2 As Range, c3 As Range With Target Set c1 = Cells(.Row, 20) Set c2 = Cells(.Row, 33) Set c3 = Cells(.Row, 46) If .Row <= 360 And (Cells(.Row, 6) = c1 Or Cells(.Row, 6) = c2 Or Cells(.Row, 6) = c3) Then CelulasParaMatriz Range(c1.Address & "," & c2.Address & "," & c3.Address) End If End With End Sub Function CelulasParaMatriz(ByVal Matriz As Range) Dim Cell As Range Dim Body As String For Each Cell In Matriz Body = Body & Cell.Address(False, False) & " = " & Cell & vbLf Next MsgBox Body, vbInformation, "Informação" End Function
  10. A fórmula SE encontra todas as linhas com o mesmo cliente na coluna E e armazena todas as Datas + Hora da coluna C para que depois a fórmula MÁXIMO escolha somente o maior valor dentre todos.
  11. Coloque na célula A2: =MÁXIMO(SE($E$2:$E$14471=E2;$C$2:$C$14471)) Pressione CRTL+SHIFT+ENTER com o editor de fórmulas aberto pra que fique assim: {=MÁXIMO(SE($E$2:$E$14471=E2;$C$2:$C$14471))}
  12. =se(a4>a5;"chegou";se(a4=a5;"programado";"atrasado"))
  13. você precisa postar a sua planilha para faciliar a nossa vida. Simplesmente olhando me parece estranho você declamar a variável como alocaNumCracha como sendo uma planilha e no final do código tentar colocar algo que na verdade parece ser um número ou texo. Dim alocaNumCracha As Worksheet Posta o arquivo e explica (delhadamente) o q você quer q a macro faça.
  14. Os dados são colados somente em um lugar, 6 colunas antes da última. BJ está 20 colunas antes da última, então teria que alterar essa parte Offset(1, -20).
  15. Eu não entendi. 1. A macro precisa checar isso em todas as linhas ou só na 5 mesmo? 2. F precisa ser maior que T OU AG OU AT, ou, F precisa ser maior que T E AG E AT ao mesmo tempo?
  16. Eu trocaria essa parte: Range("A1").Select Do If ActiveCell <> "" Then ActiveCell.Offset(1, 0).Select End If Loop Until ActiveCell = "" ActiveCell.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Por: Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll O método anterior precisa checar linha-a-linha qual é a próxima vazia, ou seja, quanto mais dados forem colados mais tempo vai levar pra macro rodar.
  17. Olá Ingo, O único problema deste método é que se tiver alguma célula preenchida entre a coluna selecionada e a coluna "A" o seu código não vai funcionar corretamente, enquando com as 2 opções apresentadas pelo Basole esse risco seria mitigado.
  18. Sim, Range("B:B").Insert O metodo acima inseri uma coluna entre A e B. você pode ajustar para a coluna exata que você quer.
  19. Private Sub Worksheet_Calculate() If Range("F5").Value = Range("T5").Value Then Call CelulasParaMatriz End Sub Sub CelulasParaMatriz() Dim Matriz As Range, Cell As Range Dim Body As String Set Matriz = Range("E5,F5,T5") For Each Cell In Matriz Body = Body & Cell & vbLf Next MsgBox Body, vbInformation, "Informação" End Sub Anexo planilha de exemplo. Pasta1.zip
  20. você precisa tirar o seu código de: Private Sub UserForm_Initialize() Para: Private Sub ComboBox1_Change() Tudo o que estiver em *Initialize" vai rodar somente uma vez quando o formulário for aberto.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!