none
Gerar Planilha ao Clicar em Item na Combobox, em uma planilha modelo já existente. RRS feed

  • Pergunta

  • Bom dia a Todos,

    Estou fazendo um projeto para o meu escritório de Controle de Honorários, e me deparei com um problema no qual não consigo resolver, gostaria de uma ajudinha, vamos la:

    Tenho uma Planilha com os dados dos Clientes, e quero gerar uma planilha de Controle para cada Cliente, até ai eu consegui usando o código abaixo:

                                                                    

    Sub GeraRelatórios()

        'Local onde os valores da Lista são atribuídos na Planilha Modelo
        Const sCliente As String = "C2"

        Dim lLast As Long
        Dim lRow As Long
        Dim wb As Workbook
        Dim wsLista As Worksheet
        Dim ws As Worksheet

        Set wsLista = ThisWorkbook.Sheets("Clientes")

        'Opcional: descomente a linha abaixo para aumentar a velocidade
        'de elaboração dos relatórios:
        'Application.ScreenUpdating = False

        With wsLista
            lLast = .Cells(.Rows.Count, "A").End(xlUp).Row

            Set wb = Workbooks.Add(xlWBATWorksheet)

            'A contagem se inicia em 2 porque a linha 1 é o cabeçalho
            For lRow = 3 To lLast
                'Copia um dos Modelos para a nova Pasta de Trabalho
                ThisWorkbook.Sheets("Modelo").Copy Before:=wb.Sheets(1)
                Set ws = wb.Sheets(1)
                'Renomeia a nova Planilha para, por exemplo, o nome de uma
                'pessoa da Planilha Lista:
                ws.Name = .Cells(lRow, "A")
                'Entra com os registros da tabela em Lista na nova Planilha
                ws.Range(sCliente) = .Cells(lRow, "A")

            Next lRow
        End With

        'Se você alterou a propriedade ScreenUpdating do objeto Application,
        'deve voltar ao valor que estava antes, que provavelmente era True:
        'Application.ScreenUpdating = True

    End Sub

    Gerei uma Worksheet para cada cliente, baseada na Worksheet modelo. Agora me deparei com a seguinte questão, e se eu adicionar um novo cliente?! Teria que criar manualmente a Worksheet para o cliente.

    Tive a ideia de Fazer um Combobox, selecionar o Cliente desejado e Clicar em um Botão de "Gerar" a sua Worksheet, com com base na Worksheet modelo, porem com os dados do cliente.

    Alguem saberia como fazer esse botão "Gerar" somente essa Worksheet desejada?

    segunda-feira, 23 de fevereiro de 2015 16:36