Página 1 de 1

Relação entre planilhas

Enviado: 18 Ago 2015 às 16:54
por DiRamos
Boa tarde.
Tenho uma pasta de trabalho com 4 planilhas distintas, que são:
cliente 1, 2, 3 e Resumo. As 3 primeiras planilhas possuem a mesma formatação e numero de colunas que são:
documento, sacado, vencimento e valor . A única diferença é na planilha Resumo que apresenta uma coluna a mais(cedente).
Preencho manualmente as planilhas dos clientes e copio e colo na planilha resumo.
Pergunta:
É possível preencher as planilhas clientes e automaticamente esses valores irem para planilha Resumo?

Relação entre planilhas

Enviado: 18 Ago 2015 às 17:42
por KDUMX
Segue minhas sugestões:

1 - Na pasta Resumo, você pode vincular as informações da Pasta Cliente1. Exemplo: Na pasta resumo, clique na Célula A1, use a fórmula =Cliente1!A1 e assim por diante.

Ponto fraco deste sistema, é que dependendo do tamanho da da planilha e dos dados, a planilha pode ficar pesada.

2 - Usar macros. Ao preencher a última coluna, a macro ativa e joga os dados para a pasta Resumo. Neste caso, é preciso que encaminhe a planilha para a elaboração da mesma.

3 - Fazer do excel um formulário, e ao preencher, ele joga para a pasta resumo. Neste formulário feito em VB você poderia vincular as três modelos de clientes nela e ao preencher e clicar OK, ele envia a informação. Requer um pouco de conhecimento em VB, mais posso ajudar também com o envio da planilha. Porque precisar saber o nome de cada campo para fazer os box.

Não ajudei muito, mais...fica a dica.

Re: Relação entre planilhas

Enviado: 18 Ago 2015 às 18:38
por DiRamos
Segue o arquivo

Re: Relação entre planilhas

Enviado: 19 Ago 2015 às 08:11
por alexandrevba
Bom dia!!

Use esse código criado pelo maior MVP do planeta chamado (Jerry Beaucaire)
https://sites.google.com/a/madrocketsci ... to-1-sheet


Delete a guia Geral

Depois Execute o código
Código: Selecionar todos
Option Explicit

Sub ConsolidateSheets()
'Author:    Jerry Beaucaire
'Date:      6/26/2009
'Updated:   6/23/2010
'Merge all sheets in a workbook into one summary sheet (stacked)
'Data is sorted by a specific column name
Dim cs As Worksheet, ws As Worksheet
Dim LR As Long, NR As Long, sCol As Long
Dim sName As Boolean, SortStr As String
Application.ScreenUpdating = False

'From the headers in data sheets, enter the column title to sort by when finished
SortStr = "Invoice #"

'Add consolidation sheet if needed
If Not Evaluate("ISREF(Consolidate!A1)") Then _
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Geral"
'Option to add sheet names to consolidation report
sName = MsgBox("Add sheet names to consolidation report?", vbYesNo + vbQuestion) = vbYes
'Setup
Set cs = ActiveWorkbook.Sheets("Geral")
cs.Cells.ClearContents
NR = 1
'Process each data sheet
    For Each ws In Worksheets
        If ws.Name <> cs.Name Then
            LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
            'customize this section to copy what you need
            If NR = 1 Then
              'copy titles and data to start the consolidation, edit row as needed for source of titles
                ws.Range("A1", ws.Cells(1, Columns.Count).End(xlToLeft)).Copy
                If sName Then
                    cs.Range("B1").PasteSpecial xlPasteAll
                Else
                    cs.Range("A1").PasteSpecial xlPasteAll
                End If
                NR = 2
            End If
            
            ws.Range("A2:F" & LR).Copy     'copy data, edit as needed for the start row

            If sName Then       'paste and add sheet names if required
                cs.Range("B" & NR).PasteSpecial xlPasteValuesAndNumberFormats
                cs.Range("A" & NR, cs.Range("B" & cs.Rows.Count).End(xlUp).Offset(0, -1)) = ws.Name
            Else
                cs.Range("A" & NR).PasteSpecial xlPasteValuesAndNumberFormats
            End If
            
            NR = cs.Range("A" & cs.Rows.Count).End(xlUp).Row + 1
        End If
    Next ws
'Sort
    LR = cs.Range("A" & cs.Rows.Count).End(xlUp).Row
    On Error Resume Next
    sCol = cs.Cells.Find(SortStr, After:=cs.Range("A1"), LookIn:=xlValues, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Column
    cs.Range("A1:F" & LR).Sort Key1:=cs.Cells(2, sCol + (IIf(sName, 1, 0))), Order1:=xlAscending, _
        Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
'Cleanup
    If sName Then cs.[A1] = "Sheet"
    cs.Rows(1).Font.Bold = True
    cs.Cells.Columns.AutoFit
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    cs.Activate
    Range("A1").Select
    Set cs = Nothing
End Sub
Att

Re: Relação entre planilhas

Enviado: 20 Ago 2015 às 17:45
por KDUMX
DiRamos escreveu:Segue o arquivo
,


Segue conforme solicitado.

Eu não mudei a estrutura das sua planilha.
Mas se tiver que mudar algo, nem que seja uma coluna , tome cuidado que tudo pode parar de funcionar.
Evite mudar o nome da pasta Geral.

Ao preencher qualquer planilha do cliente ele vai jogando tudo para a pasta geral.
Ao alterar, ele modifica também.

Detalhe, tudo está atrelado ao número do Documento ( que julguei ser único ) caso ele se repita, me pontue e não utilize a planilha. Senão vai bagunçar os resultados.

Demais ajustes, posso ajudar.

Valeu.