none
Remover linhas específicas de Excel RRS feed

  • Pergunta

  • Olá pessoal,

    Recentemente iniciei em um cargo Jr de banco de dados e estou em um projeto de ETL onde tenho que importar diversas planilhas Excel (.xls) para um SQLServer.

    Preciso remover a primeira e as quatro últimas linhas de cada arquivo, onde a quantidade de linhas pode variar.

    Depois de pesquisar, vi que existem alguns materiais sobre arquivos simples, mas nada de arquivos Excel.

    Alguém poderia me dar uma dica de como eu posso fazer para atingir este objetivo?

    PS: Estou usando o SSIS 2016.


    MCP - MCTIP

    terça-feira, 13 de setembro de 2016 02:04

Respostas

  • Olá amigo.

    Se estiver pensado em fazer isso no Excel faça o seguinte:

    Na pasta de trabalho do Excel que contém a planilha que você quer tratar, pressiona o atalho Alt+F11 para abrir o VBA.

    Depois vá até o menu Inserir e clique na opção módulo.

    Na área em branco no centro da tela cole o seguinte código e depois pressione F5 para executar.

    Sub removeLinhas()
    Dim i As Integer

    'Exclui a Primeira linha
    Sheets("NomePlanilha").Select
    Rows(1).Delete
    'Percorre a planilha até a linha após a última linha com dados.
    Cells(1, 1).Select
    Do While (ActiveCell.Value <> "")
        ActiveCell.Offset(1, 0).Select
    Loop
    'Exclui as 04 linhas de baixo para cima.
    For i = 1 To 4 Step 1
        ActiveCell.Offset(-1, 0).Select
        Rows(ActiveCell.Row).Delete
    Next

    End Sub

    terça-feira, 13 de setembro de 2016 07:03

Todas as Respostas

  • Olá amigo.

    Se estiver pensado em fazer isso no Excel faça o seguinte:

    Na pasta de trabalho do Excel que contém a planilha que você quer tratar, pressiona o atalho Alt+F11 para abrir o VBA.

    Depois vá até o menu Inserir e clique na opção módulo.

    Na área em branco no centro da tela cole o seguinte código e depois pressione F5 para executar.

    Sub removeLinhas()
    Dim i As Integer

    'Exclui a Primeira linha
    Sheets("NomePlanilha").Select
    Rows(1).Delete
    'Percorre a planilha até a linha após a última linha com dados.
    Cells(1, 1).Select
    Do While (ActiveCell.Value <> "")
        ActiveCell.Offset(1, 0).Select
    Loop
    'Exclui as 04 linhas de baixo para cima.
    For i = 1 To 4 Step 1
        ActiveCell.Offset(-1, 0).Select
        Rows(ActiveCell.Row).Delete
    Next

    End Sub

    terça-feira, 13 de setembro de 2016 07:03
  • Olá Ricardo, obrigado pelo retorno.

    O seu código funcionou, vou guarda-lo para quando precisar.

    Mas na verdade preciso de uma ideia de como fazer no SSIS, pois este processo será automatizado.


    MCP - MCTIP

    terça-feira, 13 de setembro de 2016 10:59