Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Seleção de guias através da Checkbox

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
amarall04
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Ter Set 01, 2020 4:35 pm

Seleção de guias através da Checkbox

Mensagem por amarall04 »

Boa tarde,

Sou iniciante em VBA e estou aplicando esses códigos para melhorar a minha produtividade na empresa. estou desenvolvendo uma matriz de relatórios, todos listados num formulário com checkbox. Cada checkbox equivale a uma guia, e eu gostaria da ajuda para montar o código que faça a seleção da guia e copie para um novo arquivo, porem eu posso selecionar 2, 3 ou mais relatórios. Nas minhas pesquisas eu só consegui conceitos que copiem uma unica guia ou todas as guias.

por gentileza, poderia me ajudar?


Fabio


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Seleção de guias através da Checkbox

Mensagem por Raygsson »

Fábio
Acrescente algum arquivo de exemplo com esse formulário, checkbox , guias, etc.
Sem os arquivos fica complicado lhe ajudar.
Att,
Raygsson


amarall04
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Ter Set 01, 2020 4:35 pm

Re: Seleção de guias através da Checkbox

Mensagem por amarall04 »

Bom dia Jovem,

Segue anexo a planilha que estou tentando desenvolver.

Fabio
Anexos
SERVICE - Controle de Ordem de Serviço.7z
(2.86 MiB) Baixado 159 vezes


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Seleção de guias através da Checkbox

Mensagem por Raygsson »

Fabio
Voce aplicou alguma configuração para bloquear o seu Formulario "Frm_GerarOs"?
Não consegui testar a rotina de click nas checkbox pois o formulário esta abrindo aparentemente bloqueado.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


amarall04
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Ter Set 01, 2020 4:35 pm

Re: Seleção de guias através da Checkbox

Mensagem por amarall04 »

Boa tarde,

desculpe devo ter bloqueado sem querer. ja desbloqueei
Anexos
SERVICE - Controle de Ordem de Serviço.7z
(2.87 MiB) Baixado 143 vezes


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Seleção de guias através da Checkbox

Mensagem por Raygsson »

Não sei se entendi muito bem o seu objetivo final, porém selecionar varias planilhas e criar um novo arquivo com uma cópia de cada aba não é difícil. Você já tem código pra gerar o arquivo, pode tentar uma abordagem diferente na geração, não selecionando todas as abas desejadas de uma vez. Vai marcando suas check box e depois clica no botão OK pra verificar as check box marcadas e gerar os arquivos. Fiz um código pra loop nos itens do formulário e modifiquei o nome que sera salvo na geração do novo arquivo, apenas como exemplo, depois altere conforme precisar. Fiz a verificação das check box marcadas por loop, porém pode muito bem simplificar verificando individualmente pelo nome, exemplo: if me.checkbox1 = true then ... elseif me.checkbox2 = true then..., elseif me.checkbox3 = true then..., etc

Código: Selecionar todos

Private Sub Ok_Click()

For Each Item In Me.Controls
    If Item = True Then
        NomePlan = Mid(Item.Caption, 1, 9)
        Sheets(NomePlan).Select
        Call SalvarAba(NomePlan)
    End If
Next

End Sub


Sub SalvarAba(NomePlan)
'Impede que o Excel atualize a tela
Application.ScreenUpdating = False
'Impede que o Excel exiba alertas
Application.DisplayAlerts = False

'Seta uma variável para se referir a nova pasta de trabalho
Dim NovoWB As Workbook
'Cria esta nova aba
Set NovoWB = Workbooks.Add(xlWBATWorksheet)
With NovoWB
'Copia a aba atual para o novo arquivo, como a segunda aba
ThisWorkbook.ActiveSheet.Copy After:=.Worksheets(.Worksheets.Count)
'Deleta a primeira aba do arquivo criado (Aba em branco)
.Worksheets(1).Delete
'Salva o novo arquivo para a mesma pasta do arquivo atual
'Troque "Novo Arquivo" para um outro nome qualquer que preferir
.SaveAs ThisWorkbook.Path & "\" & NomePlan & ".xlsx"
'Fecha o novo arquivo
.Close False
End With

'Permite que o Excel volte a atualizar a tela
Application.ScreenUpdating = False
'Permite que o Excel volte a exibir alertas

End Sub

Considerei que o nome da aba esta na propriedade Caption da check box:
exp.JPG
exp.JPG (85.72 KiB) Exibido 3924 vezes
A saida seria isso:
Anexos
exp2.JPG
exp2.JPG (21.3 KiB) Exibido 3924 vezes


amarall04
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Ter Set 01, 2020 4:35 pm

Re: Seleção de guias através da Checkbox

Mensagem por amarall04 »

Bom dia Raygsson,

A saida seria para um único arquivo.

Grato.


amarall04
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Ter Set 01, 2020 4:35 pm

Re: Seleção de guias através da Checkbox

Mensagem por amarall04 »

Bom dia Raygsson,

A saída seria para um único arquivo.

Grato.


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Seleção de guias através da Checkbox

Mensagem por Raygsson »

Código: Selecionar todos

Private Sub Ok_Click()

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Dim NovoWB As Workbook
Dim AtualWB As Workbook

Set AtualWB = ActiveWorkbook
Set NovoWB = Workbooks.Add(xlWBATWorksheet)

With NovoWB

    For Each Item In Me.Controls
        If Item = True Then
           NomePlan = Mid(Item.Caption, 1, 9)
           AtualWB.Activate
           AtualWB.Sheets(NomePlan).Select
           AtualWB.ActiveSheet.Copy After:=.Worksheets(.Worksheets.Count)
        End If
    Next
      
    .Worksheets(1).Delete
    .SaveAs AtualWB.Path & "\saida.xlsx"
    .Close False
End With

Application.ScreenUpdating = True
Application.DisplayAlerts = True

Unload Me

End Sub


amarall04
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Ter Set 01, 2020 4:35 pm

Re: Seleção de guias através da Checkbox

Mensagem por amarall04 »

Boa tarde Raygsson,

Desculpe a demora em retornar, tá uma correria aqui. agradeço a atenção e ajuda, era isso que precisava.

Grato.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder