ailtonkupinski
Mensagens : 2 Data de inscrição : 28/01/2014
| Assunto: 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. | |
|
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
ailtonkupinski
Mensagens : 2 Data de inscrição : 28/01/2014
| Assunto: 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 | |
|
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
Conteúdo patrocinado
| Assunto: Re: Importar Dados de sub-pasta com diversas condições | |
| |
|