Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#37134
Bom dia pessoal,
Novamente precisando da ajuda de vocês!

Para entendimento:
Eu tenho uma planilha que controlo vencimentos de AETS para os veículos da Usina onde eu trabalho. Nesta planilha, existem diversos hiperlinks que levam a cada tipo de licença e suas respectivas datas de vencimento. Ao lado da data, por estética, foi colocada uma fórmula bem simples para me retornar diversos casos.

Como esta minha planilha:
Tenho vencimentos nas planilhas ‘Prancha’ / ‘Rodotrem’ / ‘Treminhao’ / ‘Carga Seca’ / ‘Vinhaça’ / ‘Rodomuda’, etc (TUDO ANTES DE “MENU REBOQUE”. Em cada aba desta planilha, há diversos veículos que representam cada tipo de licença, COM SUA RESPECTIVA DATA DE VENCIMENTO, e a observação da Formula ‘se’ mencionada acima.

O que eu preciso:
Preciso que dentro destas abas, todos os itens que na coluna “Status (M)” for diferente de “Vigente”, copie a linha completa para a aba “Controle de Vencimentos”.

Gostaria de fazer através de VBA, visto que com QUERY eu não entendo nada!

É possível fazer isso?

Desde já agradeço a ajuda de vocês!
Abraços,
Caio F. Boncompani
Você não está autorizado a ver ou baixar esse anexo.
#37199
Experimente:

Código: Selecionar todos
Sub ReplicaNãoVigentes()
 Dim wso As Worksheet, wsd As Worksheet, LR As Long
  Set wsd = Sheets("Controle de Vencimentos")
   LR = Application.Max(2, wsd.Cells(Rows.Count, 1).End(3).Row)
   Application.ScreenUpdating = False
   wsd.Range("A2:M" & LR).Value = ""
    For Each wso In Sheets(Array("Carga Seca", "Ônibus", "Prancha", "Rodomuda", _
       "Rodotorta", "Rodotrem", "Treminhão", "Treminhão Transbordo", "Vinhaça"))
     With wso
      .AutoFilterMode = False
      LR = .Cells(Rows.Count, 1).End(3).Row
      If Application.CountIf(.Range("M7:M" & LR), "<>" & "VIGENTE") > 0 Then
       .Range("A6:M" & LR).AutoFilter 13, "<>VIGENTE"
       .Range("A7:M" & LR).Copy
       wsd.Cells(Rows.Count, 1).End(3)(2).PasteSpecial xlValues
       .AutoFilterMode = False
      End If
     End With
    Next wso
   Application.ScreenUpdating = True
End Sub
obs. as linhas vazias no resultado são em consequência das linhas vazias existentes na tabela da planilha Prancha.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord