Criando uma macro para ordenar itens por data inserida (resultados disparados da fórmula)

0

Eu tenho a Folha 1 onde estou inserindo novos dados em uma planilha, e na minha folha de referência eu estou puxando os mesmos valores da planilha 1 para que eu possa classificá-los pelo tempo digitado. Meu objetivo é ter uma exibição na Folha 1 que exiba os últimos 10 itens inseridos na Planilha 1. Usei a fórmula abaixo para classificar minha Planilha de Referência por data, mas como estou usando uma fórmula para extrair os valores, ela não aciona . É possível combinar isso com uma nova macro para que eu possa inserir dados em um único lugar e classificá-los em outro lugar?

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A As Range
    Dim AB As Range
    Set A = Range("A:A")
    Set AB = Range("A:B")

    If Intersect(Target, A) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
        Target.Offset(0, 1) = Now
        AB.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlNo, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    Application.EnableEvents = True
End Sub
    
por Dan 16.02.2016 / 00:32

1 resposta

0

Parece que o seu problema é que o seu código de macro não é acionado para a alteração em uma planilha porque a planilha está mudando apenas em virtude de uma referência de fórmula. Se este for o caso, você não pode colocar o código (ou uma chamada de qualquer Subs que você precisar) a partir do Workbook_SheetChange () Sub em vez disso? (o evento SheetChange () da pasta de trabalho será acionado quando você alterar qualquer folha ). Você pode inspecionar a folha que foi alterada usando Sh.Name dentro deste Sub. E obtenha o endereço da célula da alteração usando Target.Address .

    
por 18.02.2016 / 00:45