Usuário com melhor resposta
Remover linhas específicas de Excel

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
- Movido Junior Galvão - MVPMVP quarta-feira, 14 de setembro de 2016 16:06 Post publicado em categoria incorreta.
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- Marcado como Resposta Junior Galvão - MVPMVP quarta-feira, 14 de setembro de 2016 16:05
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- Marcado como Resposta Junior Galvão - MVPMVP quarta-feira, 14 de setembro de 2016 16:05
-