copiar dados para outra planilha usando VBA

Anônima
2010-02-12T10:27:49+00:00

Pessoal, bom dia.

Estou precisando de um exemplo de macro que copie um intervalo de linhas de uma planilha (dados) para a planilha Filtro, baseado na informação retirada de uma textbox.

Ex.: Na planilha dados, eu tenho os campos: série, data, hora, umidade. Na textbox eu lanço a data e quero que a VBA retorne todos os lançamentos com essa data na planilha filtro, independente da hora lançada. To quabrando a cuca aqui e naum tah dando certo.

Outro problema. Essas informações eu retiro de um arquivo .txt que coleta as leituras de uma placa leitora. eu preciso filtrar esses dados para que a VBA naum replique informações que eu já baixei.

Grato pela ajuda

Microsoft 365 e Office | Instalar, resgatar, ativar | Para uso doméstico | Outro

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2010-02-23T12:39:25+00:00

Utilize o gravador de amcros para auxiliar na sintaxe. Vc não precisa gravar tudo, mas apens a parte que deseja implantar.

Esta resposta foi útil?

0 comentários Sem comentários

41 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2010-02-22T12:13:27+00:00

    Luiz, a rotina IMP_FILTRO executa uma filtragem baseado na plan dados, que eh onde eu adiciono os dados do arquivo.txt, e lança esses dados ja filtrados na plan FILTRO. Esse procedimento é realizado para que eu possa gerar os graficos e possiveis relatórios já com os dados filtrados. Ex.: Eu seleciono o dia 28.10.09 e a rotina IMP_FILTRO GRAVA NA PLAN FILTRO somente os dados da data em questao. O problema está em atualizar a Plan dados com informações atualizadas do arquivo .txt.

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2010-02-22T12:00:31+00:00

    Os critérios são no filtro que vc faz para copiar os arquivos, na rotina IMP_FILTRO (nome anterior!).

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2010-02-22T11:38:05+00:00

    Bom dia, Luiz...

    Esse é o código que eu utilizo para a importação do arquivo .txt, mas não sei exatamente onde eu insiro os critérios para o filtro. O problema é que eu tenho que executar uma verificação dos arquivos da plan dados e importar do txt as informações que forem iguais a data e > hora já gravada, pois pode ocorrer de ser realizada mais de uma importação num mesmo dia.

    Sub ATUALIZAR()

        With ActiveSheet.QueryTables.Add(Connection:= _

            "TEXT;C:\Users\rogerio\Desktop\Granfinale\pen1.txt", Destination:=ActiveCell)

            .Name = "pen1"

               On Error Resume Next

            .FieldNames = True

            .RowNumbers = False

            .FillAdjacentFormulas = False

            .PreserveFormatting = True

            .RefreshOnFileOpen = False

            .RefreshStyle = xlInsertDeleteCells

            .SavePassword = False

            .SaveData = True

            .AdjustColumnWidth = True

            .RefreshPeriod = 0

            .TextFilePromptOnRefresh = False

            .TextFilePlatform = 850

            .TextFileStartRow = 1

            .TextFileParseType = xlDelimited

            .TextFileTextQualifier = xlTextQualifierDoubleQuote

            .TextFileConsecutiveDelimiter = False

            .TextFileTabDelimiter = True

            .TextFileSemicolonDelimiter = True

            .TextFileCommaDelimiter = False

            .TextFileSpaceDelimiter = False

            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _

            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _

            , 1, 1, 1, 1)

            .TextFileTrailingMinusNumbers = True

            .Refresh BackgroundQuery:=False

        End With

    End Sub

    As células da plan dados são: data = B3:B65356

                                               hora = C3:C65356

    Obrigado por enquanto...

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2010-02-19T11:12:33+00:00

    Vc deve estar abrindo o txt para carregar os dados. É neste TXT , depois de aberto, que vc precisa adicionar os critério de filtro. Ou seja, vc sempre carrega todo o TXT, pois ele é sua base, mas só copia o que interessa.

    Esta resposta foi útil?

    0 comentários Sem comentários