Existe uma maneira de copiar dados com um filtro de macro / botão?

1

Eu tenho uma planilha com os IDs dos funcionários no topo e as datas ao lado.

Então eu preciso colocar um Y ou um N no nome todos os dias. Tenho 96 funcionários, então é muito longo. Existe um botão ou uma macro que, se uma pessoa obtiver um Y, posso fazer com que essas pessoas sejam copiadas para outra folha e, se alguém novo obtiver um Y, ela também será aceita. Então é mais fácil limitar as pessoas com o Y

    
por Chris 06.02.2015 / 11:52

1 resposta

1

Esse VBa faz o que eu acho que você quer ... Sua pergunta não é a mais clara.

Lembre-se, com o VBa, crie uma cópia do arquivo primeiro, pois ele não tem recurso de desfazer

Option Explicit

Sub FindYeTheMapOfTreasure()


Worksheets("Sheet2").Range("A:F").Clear
Worksheets("Sheet2").Range("A:B").Value = Worksheets("Sheet1").Range("A:B").Value


    Dim row As Integer
    row = 2

    Do While Worksheets("Sheet1").Range("C" & row).Value <> ""

    If Worksheets("Sheet1").Range("C" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("C:C").Value = Worksheets("Sheet1").Range("C:C").Value
    End If

    If Worksheets("Sheet1").Range("D" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("D:D").Value = Worksheets("Sheet1").Range("D:D").Value
    End If

    If Worksheets("Sheet1").Range("E" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("E:E").Value = Worksheets("Sheet1").Range("E:E").Value
    End If

    If Worksheets("Sheet1").Range("F" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("F:F").Value = Worksheets("Sheet1").Range("F:F").Value
    End If

    If Worksheets("Sheet1").Range("G" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("G:G").Value = Worksheets("Sheet1").Range("G:G").Value
    End If
    row = row + 1
    Loop


End Sub

Folha1

Depoisqueeucorro,sheet2parece

    
por 06.02.2015 / 14:40