Notifications
Clear all

Importar linha ocultas

3 Posts
2 Usuários
0 Reactions
1,115 Visualizações
(@carlos82)
Posts: 0
New Member
Topic starter
 

Prezados, boa tarde,

Estou precisando de ajuda na seguinte situação. Criei uma macro que realiza a importação de dados de varias outras planilhas. A planilha de importação localiza o caminho que foi informado na aba Importação , coluna A (Caminho) e realiza a importação dos dados.
Porém estou com um problema que somente consigo importar as linhas visiveis, pois as linhas que estão ocultas ou filtradas a mesma não importa. Preciso de ajuda para ajustar a planilha de modo que ela importe os dados visiveis e ocultos.
Obs.: Não estou conseguindo enviar o anexo
Macro

Sub importa()

'Definição das variáveis
'==================================
Dim W As Worksheet
Dim WNew As Workbook
Dim ArqParaAbrir As Variant
Dim A As Integer
Dim NomeArquivo As String
Dim senha As Variant

senha = "voto@4321"

'loop de busca dos dados
'========================
lin = 2
While Cells(lin, 1) <> ""

'Capturar arquivos para tratamento
'===================================
caminho = Cells(lin, 1)

On Error GoTo erro

ArqParaAbrir = caminho
'ArqParaAbrir = Application.GetOpenFilename("arquivos do excel(*.xl*),*.xl*", Title:="importador", MultiSelect:=True)



If Not IsArray(ArqParaAbrir) Then

If ArqParaAbrir = "" Or ArqParaAbrir = False Then

MsgBox "Processo abortado, nenhum arquivo escolhido", vbOKOnly, "Processo abortado, nenhum arquivo escolhido"
Exit Sub

End If

End If
Application.ScreenUpdating = False
'Começa a importação dos dados
'Obs.: Se quiser apagar os dados insira o código W.UsedRange.EntireColumn.Delete
'Se não quiser apagar os dados apague o código W.UsedRange.EntireColumn.Delete
'=======================================
Set W = Sheets("Importação")

'W.UsedRange.EntireColumn.Delete
W.Select


'Loop para importação dos dados
'=======================================

'For A = LBound(ArqParaAbrir) To UBound(ArqParaAbrir)
NomeArquivo = ArqParaAbrir

Application.Workbooks.Open (NomeArquivo)
Set WNew = ActiveWorkbook
'ActiveSheet.Unprotect senha ' se a senha for diferente nas diversas planilha vai dar erro!!!
Sheets("ENTRADA DE NF").Select 'informar a aba ser transferida
ActiveSheet.Range("B5:Q1000").Copy
W.Cells(W.Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
' Vc não precisa selecionar a região para poder copiar!
'Selection.Copy Destination:=W.Cells(W.Rows.Count, 1).End(xlUp).Offset(1, 0)
Application.CutCopyMode = False ' esse comando limpa a área de transferência

Application.DisplayAlerts = False

ActiveWorkbook.Close savechanges:=False

Application.DisplayAlerts = True

'W.Cells(W.Rows.Count, 1).End(xlUp).Offset(1, 0).Select não é preciso mover-se na plan destino...A instrução de cópia já informa o destino!

'Next A

'definição dos caminhos
'=======================
Application.ScreenUpdating = True
Call Copiar
Call Limpar

lin = lin + 1
        
    Wend

Application.ScreenUpdating = True

'MsgBox "Processo Concluido. Arquivos copiados..."
Exit Sub



erro:
MsgBox "Foram encontrados problemas durante a importação"


End Sub
 
Postado : 18/09/2018 1:02 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

carlos82,

Boa noite!

Por gentileza, edite sua mensagem de modo a inserir o código VBA dentro da ferramenta CODE existente logo no início da caixa dê mensagens (quinto botão da esquerda para a direita).

São as regras do fórum.

 
Postado : 18/09/2018 3:07 pm
(@carlos82)
Posts: 0
New Member
Topic starter
 

Prezado
Poderiam me ajudar no ajuste?

 
Postado : 18/09/2018 7:35 pm