Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Importar Dados de sub-pasta com diversas condições

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
ailtonkupinski



Mensagens : 2
Data de inscrição : 28/01/2014

MensagemAssunto: Importar Dados de sub-pasta com diversas condições   Ter Jan 28, 2014 9:45 pm

Boa tarde,

Preciso desenvolver uma planilha cujo objetivo é o seguinte:

Tenho um banco de dados com informações de empresas, incluindo razão social, regime tributário, situação, etc...e preciso que em outra planilha, importe automaticamente os dados da empresa se seguir determinados critérios, como por exemplo:

na Plan1 eu tenho os dados da empresa:


EMPRESA | SITUAÇÃO | REGIME TRIBUTÁRIO
EMPRESA S.A | ATIVA | LUCRO REAL


e na Plan2 eu tenho um controle das obrigações acessórias que terei para essa empresa:


EMPRESA | DEISS | SINTEGRA | EFD CONTRIBUIÇÕES | EFD ICMS-IPI


quero saber por exemplo, como faço pro excel importar automaticamente o nome da empresa, e habilitar os outros campos seguindo condições de municípios, estados e regimes tributários.

Tipo, se a empresa estiver como regime tributário "LUCRO REAL", estiver "ATIVA", então o excel deve importar o nome da empresa, e habilitar as células "EFD CONTRIBUIÇÕES", "EFD ICMS-IPI" e "DEISS", sabendo que terei no banco de dados uma lista enorme de empresas.

Desde já agradeço pela atenção.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Importar Dados de sub-pasta com diversas condições   Ter Jan 28, 2014 10:16 pm

Boa arde!!

Há uma opção bem usada, via VBA.

Um exemplo da NET considerando que ambos arquivos estão abertos
Código:
Sub Exportar()
    Dim wkBook1 As Workbook
    Dim wkBook2 As Workbook
    Dim myCell8 As Range
    Dim LastRow As Long
    Dim nextRow As Long
   
    LastRow = wkBook1.Sheets("Original Refund").Range("A2000").End(xlUp).Row
    With wkBook1.Sheets("Original Refund").Range("A1:A" & LastRow)
        For Each myCell8 In .Range(Cells(9, 1), Cells(LastRow, 1))
            With wkBook2.Worksheets("Data")
                nextRow = .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).Row
                .Cells(nextRow, 1).Value = ActiveWorkbook.Name
                .Cells(nextRow, 2).Value = wkBook1.Sheets("Original Refund").Range("F6").Value
                .Cells(nextRow, 3).Value = wkBook1.Sheets("Original Refund").Range("D4").Value
                .Cells(nextRow, 4).Value = Application.UserName
                .Cells(nextRow, 5).Value = wkBook1.Sheets("Original Refund").Range("B5").Value
                .Cells(nextRow, 6).Value = myCell8.Value
                .Cells(nextRow, 7).Value = wkBook1.Sheets("Original Refund").Range("D5").Value
                .Cells(nextRow, 8).Value = myCell8(1, 2).Value
                .Cells(nextRow, 9).Value = wkBook1.Sheets("Original Refund").Range("D6").Value
                .Cells(nextRow, 10).Value = wkBook1.Sheets("Original Refund").Range("B4").Value
            End With
        Next myCell8
    End With
End Sub

Considerando que o arquivo está fechado.
Código:
Sub Foo()
Dim vFile As Variant
Dim wbCopyTo As Workbook
Dim wsCopyTo As Worksheet
Dim wbCopyFrom As Workbook
Dim wsCopyFrom As Worksheet

Set wbCopyTo = ActiveWorkbook
Set wsCopyTo = ActiveSheet

    '-------------------------------------------------------------
    'Abre o arquivo para ser copiado
    vFile = Application.GetOpenFilename("Excel Files (*.xl*)," & _
    "*.xl*", 1, "Select Excel File", "Open", False)
   
    'If Cancel then Exit
    If TypeName(vFile) = "Boolean" Then
        Exit Sub
    Else
    Set wbCopyFrom = Workbooks.Open(vFile)
    Set wsCopyFrom = wbCopyFrom.Worksheets(1)
    End If
   
    '--------------------------------------------------------------
    'Copia intervalo
    wsCopyFrom.Range("B6:E12").Copy
    wsCopyTo.Range("B5").PasteSpecial Paste:=xlPasteValues, _
            Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
    'Fecha o arquivo que foi aberto
    wbCopyFrom.Close SaveChanges:=False

End Sub
Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
ailtonkupinski



Mensagens : 2
Data de inscrição : 28/01/2014

MensagemAssunto: Re: Importar Dados de sub-pasta com diversas condições   Qui Jan 30, 2014 2:59 pm

Muito obrigado Alex,

Mas digamos que eu não sei nada de VBA, o que você me indica para aprender a fazer este trabalho ai? Qual o nome da função mais especificamente ou o que devo pesquisar para conseguir desenvolver o que estou precisando?

Abraços
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Importar Dados de sub-pasta com diversas condições   Qui Jan 30, 2014 3:04 pm

Bom dia!!

O que você precisa é adaptar a ideia das rotinas postadas, mas caso não saiba nada ficará um pouco complicado.

Aprenda VBA.
http://www.bertolo.pro.br/FinEst/SemanaContabeis2007/MacroExcel.pdf

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Importar Dados de sub-pasta com diversas condições   Qui Jan 30, 2014 4:21 pm

Bom dia!!

Talvez isso lhe dê um fonte de expiração.
Código:
Sub CoparEntreArquivos()
'Arquivo_Origem -> Guia ("Origem")
'Arquivo_Destino -> Guia ("Destino")
'Nome e extenção do seu arquivo      -Nome da guia      -Intervalo a ser copiado
Workbooks("Arquivo_Origem.xlsx").Sheets("Origem").Range("A3:AG" & Range("AG" & Rows.Count).End(xlUp).Row).Copy
Workbooks("Arquivo_Destino.xlsm").Sheets("Destino").Range("A" & Rows.Count).End(xlUp).Cells(2, 1).PasteSpecial (xlPasteValues)
'considere que ambos arquivos estão salvos e abertos.
End Sub

Caso o arquivo destino esteja fechado, acrescente a linha.
Código:
Workbooks.Open Filename:="J:\LocaldoArquivo\Arquivo_Origem.xlsx"
Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Importar Dados de sub-pasta com diversas condições   Hoje à(s) 8:56 am

Voltar ao Topo Ir em baixo
 
Importar Dados de sub-pasta com diversas condições
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [Dúvida] Como importar strings de um arquivo .txt
» Importar Dados Do Excel Para o Access - DAO
» Importar dados de arquivo pdf.
» [Resolvido]Importar dados do sic
» Importar dados de uma tabela externa

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: