Notifications
Clear all

Separa datas sem repetir

6 Posts
3 Usuários
0 Reactions
1,608 Visualizações
(@cleiton-jm)
Posts: 115
Estimable Member
Topic starter
 

Boa tarde a todos do forum
Preciso de uma ajuda de cvs para criar uma macro que separe as datas que estão na coluna D e H e jogasse na coluna I em ordem sem repetir as datas.
Anexei um exemplo para melhor entendimento.

 
Postado : 22/04/2012 1:41 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

se quiser ordenar as datas na coluna 'I' ative a penúltima linha do código removendo o apóstrofo inicial

Sub ListaDatas()
 
 Dim LRa As Long, LRi As Long, Ocel As Range
 Dim Datas As Range, Datad As Range, Datah As Range
 LRa = Cells(rows.Count, 1).End(xlUp).Row
 LRi = Cells(rows.Count, 9).End(xlUp).Row

 Set Datad = Range("D2:D" & LRa)
 Set Datah = Range("H2:H" & LRa)
 Set Datas = Union(Datad, Datah)
  
 Range("I2:I" & LRi).ClearContents
  For Each Ocel In Datas
   If Application.CountIf(Columns(9), Ocel.Value) < 1 Then
    LRi = Cells(rows.Count, 9).End(xlUp).Row
     Cells(LRi + 1, 9) = Ocel
   End If
  Next Ocel
'Range("I2:I" & LRi + 1).Sort Key1:=Range("I2"), Order1:=xlAscending

End Sub
 
Postado : 22/04/2012 4:13 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Salve Osvaldo,

Seja bem vindo ao Planilhando. Pessoal esse é fera.

 
Postado : 22/04/2012 4:47 pm
(@cleiton-jm)
Posts: 115
Estimable Member
Topic starter
 

fico show osvaldo! obrigado por qbra meu galho, boa semana para vc, e para todos do forum..

abrass!

 
Postado : 22/04/2012 4:50 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

@ JoseA
Fala, Mestre.
Grato pela recepção.
O Adalberto (Patropi) me deu um toque sobre este fórum.
Só tem MVPs aqui, incluindo você! Ótimo para aprender.
grande abraço

@ cleiton jm
Aê, Cleiton, ficamos contentes que você resolveu a sua parada.
Ótima semana, abraços

 
Postado : 22/04/2012 5:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Seja bem vindo Osvaldo, grande fera VBA, veio para somar!!

Talvez essa seja uma outra forma

Sub TesteAleVBA()
Dim e, s, i As Long
With CreateObject("System.Collections.SortedList")
    For Each e In Array("D", "H")
        For Each s In Range(e & 2, Range(e & Rows.Count).End(xlUp)).Value
            If Not IsEmpty(s) Then .Item(s) = Empty
        Next
    Next
    For i = 0 To .Count - 1
        Cells(i + 2, "I").Value = .GetKey(i)
    Next
End With
End Sub
 
Postado : 22/04/2012 5:25 pm