Notifications
Clear all

Criar planilha automaticamente baseada em uma lista e modelo

6 Posts
2 Usuários
0 Reactions
1,426 Visualizações
(@luanmendes)
Posts: 0
New Member
Topic starter
 

Olá queridos jovens, estou com uma duvida "VBÁTICA" crucial, seguinte:

Sou instrutor de informática e no intuito de facilitar a minha vida estava tentando criar um que boletim fosse gerado automaticamente baseado em uma lista de dados e um modelo, achei o seguinte artigo em um site http://www.ambienteoffice.com.br/excel/gerar_planilhas_com_base_em_uma_planilha_padrao_e_uma_tabela/, até ai tudo bem, utilizei o código VBA para complementar meu boletim e o código funciona exatamente como eu preciso exceto por uma coisa! ( :x ) Meu boletim tem tamanhos de colunas diferente do padrão (tudo cabe em uma folha de sulfite), o boletim "MODELO" possui uma imagem, porém quando o código é rodado ele altera o tamanho das minhas células (não cabe mais em uma folha) e altera o tamanho da imagem (E TUDO O QUE É GRÁFICO ELE ALTERA POR CAUSA DO TAMANHO DAS CÉLULAS) a duvida é utilizando o seguinte código

Sub GeraRelatórios()
    
    'Local onde os valores da Lista são atribuídos na Planilha Modelo
    Const sNome As String = "E5"
    Const sIdade As String = "E7"
    Const sCidade As String = "E11"
    Const sCor As String = "E9"
    
    Dim lLast As Long
    Dim lRow As Long
    Dim wb As Workbook
    Dim wsLista As Worksheet
    Dim ws As Worksheet
    
    Set wsLista = ThisWorkbook.Sheets("Lista")
    
    '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 = 2 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(sNome) = .Cells(lRow, "A")
            ws.Range(sIdade) = .Cells(lRow, "B")
            ws.Range(sCidade) = .Cells(lRow, "C")
            ws.Range(sCor) = .Cells(lRow, "D")
        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

não tem como fazer o VBA copiar além dos conteúdos, o tamanho da célula, o estilo e não alterar a imagem?

TENTEI DE TUDO O QUE CONHEÇO SOBRE VBA (que no caso é 0,0001) MAS NÃO CONSEGUI.

(Posto o boletim se houver necessidade) :D

 
Postado : 04/02/2015 8:52 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Seja bem vindo....
Poste o boletim (compacte, conforme as regras do forum)

FF

 
Postado : 04/02/2015 9:09 am
(@luanmendes)
Posts: 0
New Member
Topic starter
 

Eu comentei o boletim com uma forma que pode ser apagada

 
Postado : 04/02/2015 9:22 am
(@luanmendes)
Posts: 0
New Member
Topic starter
 

Nossa ninguém consegue me ajudar? :(

 
Postado : 06/02/2015 9:36 am
(@luanmendes)
Posts: 0
New Member
Topic starter
 

Gente será que ficou claro a minha duvida? :(

 
Postado : 18/02/2015 7:18 am
(@luanmendes)
Posts: 0
New Member
Topic starter
 

Estou repostando o boletim, já estou ficando chato, mas é que 75 pessoas viram e nem me deram um pingo de esperança :(

 
Postado : 18/02/2015 9:32 am