Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Assuntos que não estiverem relacionados as categorias acima. Se não souber em qual categoria sua mensagem se encaixa, envie aqui.
  • Avatar do usuário
  • Avatar do usuário
Por DiRamos
#2313
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?
Avatar do usuário
Por KDUMX
Avatar
#2314
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.
Avatar do usuário
Por alexandrevba
Avatar
#2326
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
Avatar do usuário
Por KDUMX
Avatar
#2365
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.
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord