Notifications
Clear all

Criar planilha para cada funcionário retornado com o PROCV

6 Posts
2 Usuários
0 Reactions
1,874 Visualizações
(@xxxlsxx)
Posts: 42
Trusted Member
Topic starter
 

...de vários resultados.

Bom, tenho vários funcionários, seu mês e seu cargo.

Criei uma caixa de combinação pra selecionar o mês.

Quando seleciona o mês, ele trás abaixo todos funcionários daquele mês, usei o PROCV com vários resultados.

Bom, ele trás. Aí no lado tem um botão pra gerar essas planilhas.

Sim, a planilha pode ficar pesada e tals, mas é isso mesmo.

Tenho um modelo de folha de pagamento em uma planilha modelo, e, quero que, ao clicar no botão gerar, ele vai criar uma planilha pra cada funcionário que está naquele mês selecionado, e, seu nome e setor devem ir para uma planilha nova, dentro do modelo.

Se eu tiver 5 funcionários retornados com o PROCV com vários resultados e clicar no botão gerar, ele vai criar 5 planilhas com base no MODELO e inserindo nas novas planilhas.

alguém ajuda?

 
Postado : 05/07/2012 5:25 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Que tal um empurrão para começar..? 8-)

Sub Criar_Planilhas()
    Dim Rng As Range, AleVBACell As Range
    Set Rng = Sheets("Controle de Vendas").Range("E5:E" & Sheets("Controle de Vendas").Range("E" & Rows.Count).End(xlUp).Row)
    For Each AleVBACell In Rng
        If AleVBACell.Value <> "" Then
            Sheets.Add After:=Sheets(Sheets.Count)
            ActiveSheet.Name = AleVBACell.Value
        End If
    Next AleVBACell
End Sub
 
Postado : 05/07/2012 7:30 pm
(@xxxlsxx)
Posts: 42
Trusted Member
Topic starter
 

Obrigado pela ajuda, Ale. Muito bom.

O problema agora é pra criar a plan com o modelo e com os valores nas células. kkkkkk obrigado

 
Postado : 05/07/2012 7:54 pm
(@xxxlsxx)
Posts: 42
Trusted Member
Topic starter
 

ALE, ACHO QUE AGORA EU CONSEGUÍ, EDITANDO O SEU CÓDIGO. *---*

A célula C9 de cada planilha contém o nome do funcionário.
Acho que agora deu certo. obrigadoooooooooooo.

Sub Botão2_Clique()
Dim Rng As Range, AleVBACell As Range
    Set Rng = Sheets("Controle de Vendas").Range("E5:E" & Sheets("Controle de Vendas").Range("E" & Rows.Count).End(xlUp).Row)
    For Each AleVBACell In Rng
        If AleVBACell.Value <> "" Then
            Sheets("Modelo").Select
            Range("a1:p22").Select
            
     Selection.Copy
            Sheets.Add After:=Sheets(Sheets.Count)
            ActiveSheet.Name = AleVBACell.Value
            ActiveSheet.Paste
            ActiveSheet.Range("c9").Select
            ActiveSheet.Range("c9").Value = AleVBACell.Value
                                End If
    Next AleVBACell
End Sub
 
Postado : 05/07/2012 8:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Isso deve te ajudar..

Option Explicit
Sub Criar_Planilhas_AleVBA()
    Dim Rng As Range, AleCell As Range
    Set Rng = Sheets("Controle de Vendas").Range("E5:E" & Sheets("Controle de Vendas").Range("E" & Rows.Count).End(xlUp).Row)
    For Each AleCell In Rng
        If MyCell.Value <> "" Then
            Sheets("Modelo").Copy After:=Sheets(Sheets.Count)
            With Sheets(Sheets.Count)
                .Name = AleCell.Value & Space(2) & MyCell.Offset(0, 1).Value
                .Range("C9").Value = AleCell.Value
                .Range("K9").Value = AleCell.Offset(0, 1).Value
            End With
        End If
    Next AleCell
End Sub


baixe seu arquivo em:

http://www.sendspace.com/file/jllr9s
Para organização do fórum, por favor Marque o tópico como resolvido

Obrigado!!

 
Postado : 06/07/2012 5:17 am
(@xxxlsxx)
Posts: 42
Trusted Member
Topic starter
 

muito obrigado mesmo alexandre

vlws

 
Postado : 06/07/2012 4:59 pm