Ir ao conteúdo

Excel Executar macro sem desbloquear botões em planilha protegida


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Olá, pessoal.

 

Gostaria de uma ajuda, para concluir um relatório de trabalho.

 

A planilha que segue em anexo se trata de um projeto para criar relatório de audiência mediante automações com macro.

 

Mais especificamente o problema está residindo na aba “Relatório”.

 

Nessa aba, as áreas em cinza, a tabela e três linhas abaixo dessa tabela estão desbloqueadas. As demais células estão todas bloqueadas, para evitar alteração no projeto.

 

A propósito, as formas (ou seja, os botões e os ícones), contendo macros, também estão configuradas para ficarem bloqueadas.

 

Pois bem, todos as macros (acionadas pelos citados botões e ícones) presentes na aba Relatório estão com o comando abaixo para desbloquear/bloquear.

 

Sub Teste()


'Variável para DESBLOQUEAR a planilha.
Dim pswStr As String
'Update by ExtendOffice 20181106
'Linha abaixo sem senha.
    pswStr = ""
    On Error Resume Next
   Application.ScreenUpdating = False
   ActiveSheet.Unprotect Password:=pswStr



Aqui fica a macro principal. Como, por exemplo, a macro abaixo:
Dim caixa As String
caixa = InputBox("Clique na célula desejada antes. Em seguida, cliquem em OK, para incluir valores.")
ActiveCell = caixa



'Após, a planilha volta a ser BLOQUEADA automaticamente.
ActiveSheet.Protect Password:=pswStr, DrawingObjects:=False, _
                        Contents:=True, Scenarios:=False, _
                        AllowFormattingCells:=True, AllowFormattingColumns:=True, _
                        AllowFormattingRows:=True, AllowInsertingColumns:=True, _
                        AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
                        AllowDeletingColumns:=True, AllowDeletingRows:=True, _
                        AllowSorting:=True, AllowFiltering:=True, _
                        AllowUsingPivotTables:=True


End Sub

 

Contudo, quando as macros são executadas, os botões/ícones são desbloqueados, possibilitando, com isso, alguém deletá-los ou movê-los acidentalmente. Além disso, mantê-los bloqueados dá mais segurança e elegância ao projeto.  

 

Quando clico em Proteger Planilha, no menu Revisão, para reativar novamente o bloqueio, apresenta-se marcado “Editar Objetos” e “Editar cenários” (imagem em anexo), quando, na verdade, deixei marcado anteriormente apenas os dois primeiros quadrinhos (e não esses).

 

Após a reativação do bloqueio da planilha, referida acima, ela apresenta uma janela de erro (imagem em anexo), quando eu escolho o tipo de benefício previdenciário (em D13), sendo corrigida, por exemplo, quando clico no botão NOVO.

 

Tentei de todas as formas deixar essa aba com as proteções desejadas; porém sem êxito.

 

Assim, gostaria que a aba Relatório executasse normalmente as macros sem desbloquear as demais células e, principalmente, os botões e ícones acima mencionados.

 

Desde já, agradeço pela ajuda.

 

_____________________________________________________________________

AUXÍLIOS PARA IDENTIFICAÇÃO DAS MACROS NO PROJETO:

 

Ícone cruz azul (Incluir última linha) – macro 2

Ícone X vermelho (Excluir última linha) – macro 3

Ícone Copiar – macro 14

Botão Incluir Linhas – macro 4

Botão Excluir Linhas – macro 4

Botão Gerar Relatório – macro 5 (RelAudRELATÓRIO_GerarPDFPastaEspecífica)

Botão Ajustar Texto – macro 6

Botão Novo – macro 8 (macro RelAudRELATÓRIO_NovoRelatório)

Botão Sair – macro 9 (macro RelAud_Sair)

PROBLEMAS COM DESBLOQUEIO.pdf Relatório de Audiências-DEFINITIVO - FINALIZANDO.rar

Postado

Bom, pessoal. Só para resumir. Na verdade, o que eu estou precisando é de um comando para desbloquear e (tornar a) bloquear a aba "Relatório".

 

Apenas ressaltando que eu citei anteriormente a macro desbloquear/bloquear, acima descrita, porém ela não está funcionando bem, pois algumas células das planilhas ficam indevidamente desbloqueadas e, às vezes, aparece uma tela de erro, como acima já destacado.

 

Um outro detalhe não mencionado no tópico acima, é que em D13 tem um evento Change, para ocultar/reexibir linhas  (onde serão postas informações), conforme o benefício selecionado. Talvez essa informação seja importante.

 

Pois bem, como eu disse, necessito apenas de um comando para desbloquear e (voltar a) bloquear a planilha perfeitamente, mantendo todas as proteções pré-definidas, no momento que as macros constantes dos botões e ícones sejam executadas, na aba "Relatório".

 

Agradeço pela ajuda.

Postado

 

O código abaixo protege a planilha e permite selecionar/editar somente as células Não Bloqueadas.

Execute na sua planilha estando desprotegida e verifique se o resultado lhe serve.

 

Sub ProtegePlanilha()
 ActiveSheet.Protect: ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

 

  • Curtir 1
Postado

Primeiramente, obrigado pela atenção, OreiaG.

 

Infelizmente, não deu certo. Nas execuções das macros principais sempre apresentou um pop-up de erro.

 

Fiz inúmeras tentativas. Coloquei a macro que você me enviou antes das macros principais (presentes nos botões/ícones), mas não deu certo. Coloquei depois das macros principais, da mesma forma. Coloquei também antes e depois das principais e não funcionou.

 

Citação

O código abaixo protege a planilha e permite selecionar/editar somente as células Não Bloqueadas.

 

Percebi que os erros se davam, porque a planilha fica protegida, como você bem destacou acima.

 

OreiaG, entendo que a aba em questão ("Relatório") deve se apresentar, a princípio, protegida (exceto as células e botões Não Bloqueados, como já destacado em post anterior). Isso será feito manualmente.

 

Assim, a meu ver, deve haver, inicialmente, uma macro para desbloquear a planilha (antes da macro principal). Em seguida, logo após a macro principal, uma outra macro para tornar a bloquear a planilha.

 

Acho que, dessa forma, as macros principais irão executar corretamente as tarefas, mantendo a planilha sempre protegida contra alterações acidentais.

 

Assim, OreiaG, se puder fazer os ajustes como acima descrito ou como você bem achar mais adequado, ficaria muito agradecido.

 

Mais uma vez obrigado pela ajuda.

 

Postado

A macro que necessite, para a sua execução, que a planilha esteja não protegida e tomando como referência o exemplo na sua primeira postagem, a estrutura seria conforme abaixo.

Sub Teste()

  'desproteger a planilha

  'executar ações na planilha não protegida

  'proteger a planilha

End Sub

 

Inserindo nessa estrutura a linha que eu postei, e inserindo também a linha para desproteger, ficaria assim:
 

Sub Teste()

  'desproteger a planilha
  ActiveSheet.Unprotect
  
  'aqui o seu código para executar ações na planilha não protegida
  
  'proteger a planilha
  ActiveSheet.Protect: ActiveSheet.EnableSelection = xlUnlockedCells

End Sub

 

Obs. como você não está utilizando senha ao proteger a planilha então transcreva os comandos para desproteger e para proteger exatamente como coloquei acima.

E caso venha a utilizar senha, por exemplo 1234:

ActiveSheet.Unprotect "1234"
 ActiveSheet.Protect "1234": ActiveSheet.EnableSelection = xlUnlockedCells

Nada além disso é necessário. 😉

  • Curtir 1
Postado

 

Sub Teste()

  'desproteger a planilha

  'executar ações na planilha não protegida

  'proteger a planilha

End Sub

 

É nesse formato mesmo, OreiaG.

 

Citação

E caso venha a utilizar senha, por exemplo 1234:

ActiveSheet.Unprotect "1234"
 ActiveSheet.Protect "1234": ActiveSheet.EnableSelection = xlUnlockedCells

Parece que você leu meus pensamentos. Pretendo colocar senha realmente.

 

Pois bem, fiz alguns testes e parece que a macro executa como desejo.

 

Contudo, acho que ela bloqueou a tabela, pois as macros atribuídas aos botões INCLUIR LINHAS e EXCLUIR LINHAS estão apresentando pop-up de erro.

 

Além disso, as Validações de Dados da tabela (ou seja, lista de texto suspensa na célula) não estão permitindo edições. Eu preciso que eles sejam editáveis, para fazer alterações conforme o caso.

 

Assim, OreiaG, seria possível fazer a macro trabalhar como já compreendido por você, porém sem bloquear a tabela da aba "Relatório"?

 

Só destacando que o nome da citada tabela é TabelaRelatório.

 

Esse projeto tá me dando uma dor de cabeça tremenda! Às vezes, confesso que não sei se é possível fazer os comandos executarem as tarefas esperadas do modo como as idealizei acima. 

 

Mas, enfim, ficaria muito grato se puder resolver esse problema.

 

 

 

Postado
1 hora atrás, Nilton Cézar disse:

Contudo, acho que ela bloqueou a tabela, pois as macros atribuídas aos botões INCLUIR LINHAS e EXCLUIR LINHAS estão apresentando pop-up de erro.

O comando que eu passei permite somente selecionar/editar células não bloqueadas, portanto não permite incluir/excluir linhas, por isso o erro. Então nessas macros para incluir/excluir linhas você precisa seguir a estrutura que comentei antes, ou seja, Desprotege >>> Inclui/Exclui linhas >>> Protege.

 

Além disso, as Validações de Dados da tabela (ou seja, lista de texto suspensa na célula) não estão permitindo edições.

Isso não deveria ocorrer se as células estiverem desbloqueadas.

 

 

Acerte todas as macros que atuam na planilha Relatório e se ainda tiver algum problema anexe o arquivo com as macros atualizadas.

  • Curtir 1
Postado

"...Então nessas macros para incluir/excluir linhas você precisa seguir a estrutura que comentei antes, ou seja, Desprotege >>> Inclui/Exclui linhas >>> Protege."

 

OreiaG, eu fiz exatamente dessa forma.

 

A propósito, apliquei a estrutura acima em todas as macros que atuam na planilha Relatório. 

 

"Isso não deveria ocorrer se as células estiverem desbloqueadas."

 

As células da tabela estão desbloqueadas.

Mas, infelizmente a tabela não está respondendo às macros de Incluir e Excluir Linhas. Acho que o comando, de alguma forma, está interferindo na tabela.

 

Mas, curiosamente as macros atribuídas ao X vermelho e a cruz azul, que exclui e adiciona a última linha respectivamente, estão funcionando corretamente, na referida tabela. 

 

Assim não seria o caso de ter uma linha de código incluída para desbloquear a tabela também?

 

"Acerte todas as macros que atuam na planilha Relatório e se ainda tiver algum problema anexe o arquivo com as macros atualizadas."

 

Ok. Vou revisar a planilha e assim que possível, envio o arquivo. 

 

Obrigado pelas orientações, OreiaG.

 

 

Postado

OreiaG, revisei a planilha, cujo arquivo segue em anexo.

 

Como eu havia dito, os botões de INCLUIR LINHAS e EXCLUIR LINHAS estão apresentando pop-up de erro na execução. Eles deveriam incluir/excluir linhas na tabela, na aba Relatório.

 

As validações de dados, na planiha, estão bloqueadas. Não só as validações de dados presentes na citada tabela, como também aquelas inseridas nas células cinzas. Gostaria que todas elas ficassem disponíveis para edições.

 

Mais uma vez lembrando que as células em cinza, a tabela e três linhas abaixo dessa tabela estão desbloqueadas (manualmente). As demais células estão todas bloqueadas, para evitar alteração no projeto.

 

Acho que vale a pena analisar o comportamento do evento Change em D13, que exibe/oculta linhas (para pôr informações processuais), conforme o benefício previdenciário selecionado, pois observei algumas inconsistências anteriores nesse evento durante a execução da macro desbloquear/bloquear.

 

A propósito, ficam mantidas todas observações destacadas na postagem anterior.

 

Sub Teste()

  'desproteger a planilha
  ActiveSheet.Unprotect "1234"
  
  'aqui o seu código para executar ações na planilha não protegida
  
  'proteger a planilha
  ActiveSheet.Protect "1234": ActiveSheet.EnableSelection = xlUnlockedCells

End Sub

 

No demais, apliquei a estrutura da macro acima (por ora sem senha) nos comandos abaixo:

 

Ícone cruz azul (Incluir última linha) – macro 2

Ícone X vermelho (Excluir última linha) – macro 3

Ícone Copiar – macro 14

Botão Incluir Linhas – macro 4

Botão Excluir Linhas – macro 4

Botão Ajustar Texto – macro 6

Botão Novo – macro 8 (macro RelAudRELATÓRIO_NovoRelatório)

 

Mais uma vez, agradeço pela ajuda.

 

Segue a planilha revisada em anexo, como acima mencionado.

Relatório de Audiências-DEFINITIVO - FINALIZANDO - Copia.rar

Postado

Baixei o último arquivo e nenhum dos problemas que você apontou ocorre aqui.

Testei várias vezes cada um dos problemas que você relatou e tudo funciona corretamente.

 

Honestamente eu não imagino o que pode ocorrer aí de diferente.

 

Uma tentativa é você fazer os testes em outra máquina e ou em outra versão do Excel.

  • Curtir 1
Postado

 

30 minutos atrás, OreiaG disse:

Baixei o último arquivo e nenhum dos problemas que você apontou ocorre aqui.

Testei várias vezes cada um dos problemas que você relatou e tudo funciona corretamente.

Que estranho!

 

Amanhã vou fazer novos testes!

 

Qual a versão do seu Excel?

 

Postado

OreiaG, fiz inúmeros testes e combinações, mas infelizmente não deu certo.

 

A planilha continua apresentado aqueles erros relatados nos posts anteriores.

 

De qualquer forma, sua ajuda foi muito importante.

 

Obrigado.

Postado

Uma outra tentativa seria você gravar uma macro enquanto protege a planilha manualmente e depois substituir a linha que passei pelo código gravado.

 

desproteja a planilha manualmente >>> ligue o gravador >>> menu Revisão >>> Proteger Planilha >>> marque as permissões desejadas >>> OK >>> desligue o gravador.

 

Copie o código gravado (que será "parecido" com o trecho que você colocou na primeira postagem) e cole no lugar desta linha >>> ActiveSheet.Protect: ActiveSheet.EnableSelection = xlUnlockedCells

  • Curtir 1
Postado
Em 17/08/2022 às 12:25, Nilton Cézar disse:

Contudo, quando as macros são executadas, os botões/ícones são desbloqueados

Isso acontece porque o argumento DrawingObjects de Protect está como False, deixe como True para não permitir a edição.

 

Em 17/08/2022 às 12:25, Nilton Cézar disse:

Após a reativação do bloqueio da planilha, referida acima, ela apresenta uma janela de erro (imagem em anexo), quando eu escolho o tipo de benefício previdenciário (em D13)

Aqui não deu esse erro. Tenta fazer como comentei acima para bloquear/desbloquear apenas com a macro para ver se resolve.

  • Curtir 1
Postado
4 horas atrás, OreiaG disse:

Uma outra tentativa seria você gravar uma macro enquanto protege a planilha manualmente e depois substituir a linha que passei pelo código gravado.

 

Obrigado pela dica, OreiaG. Mas, acredito que é mais apropriado trabalhar com macros não gravadas. Além disso, já apresentei um comando semelhante à macro que seria obtida com a sugestão acima.

 

3 horas atrás, Midori disse:

Isso acontece porque o argumento DrawingObjects de Protect está como False, deixe como True para não permitir a edição.

 

Midori, realmente, alterando o argumento DrawingObjects para True os botões/ícones não são desbloqueados. E o evento Change em D13, responsável por ocultar/reexibir linhas, conforme o benefício previdenciário escolhido, não apresentou erro.

 

Sub Teste()

(...)

Aqui fica a macro principal. 

'Após, a planilha volta a ser BLOQUEADA automaticamente.
ActiveSheet.Protect Password:=pswStr, DrawingObjects:=True, _
                        Contents:=true, Scenarios:=True, _
                        AllowFormattingCells:=True, AllowFormattingColumns:=True, _
                        AllowFormattingRows:=True, AllowInsertingColumns:=True, _
                        AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
                        AllowDeletingColumns:=True, AllowDeletingRows:=True, _
                        AllowSorting:=True, AllowFiltering:=True, _
                        AllowUsingPivotTables:=True
End Sub

 

A propósito, coloquei True para todos os argumentos de Protect, como se pode ver acima, e fiz vários testes.

 

Pois bem, Midori, nos testes que fiz, constatei o seguinte:

  • Não foi possível deixar as células bloqueadas aptas a serem selecionadas. Há a possibilidade de permitir que as células bloqueadas sejam selecionadas? Com outra macro talvez?
  • Percebi que as células que contêm validação de dados (textos suspensos na célula), presentes nos campos cinzas e na tabela, não permitem edição. A célula fica meio “engessada”. Na verdade, elas apenas se tornam editáveis, quando se dá um duplo clique em qualquer ponto da área bloqueada. Isso é normal? É decorrente do trecho de bloquear da macro acima? É possível permitir que essas células com validação de dados sejam passíveis de edição dando um duplo clique sobre elas mesmas? 

De qualquer forma, Midori, o desempenho da planilha com o ajuste sugerido por você foi o que mais se aproximou da performance esperada para esse projeto.

 

Mas, com as permissões acima propostas, entendo que a planilha ficaria com um manuseio mais flexível e com a impressão de leveza. Sem aquela sensação de engessamento, como apontada anteriormente.

 

Assim, Midori, é possível deixar as células bloqueadas selecionáveis e editar as células com validação de dados dando um duplo clique sobre elas?

 

Desde já, agradeço pela ajuda.

 

 

Postado

@Nilton Cézar A única alteração que vi necessária foi o que comentei sobre o DrawingObjects. Assim já resolve a questão do objeto e também permite selecionar as células não bloqueadas. Aqui com o bloqueio da macro consegui selecionar essas células e as validações.

  • Curtir 1
Postado
8 horas atrás, Midori disse:

Assim já resolve a questão do objeto e também permite selecionar as células não bloqueadas. Aqui com o bloqueio da macro consegui selecionar essas células e as validações.

 

Midori, também consegui selecionar as células NÃO BLOQUEADAS e com as validações.

 

Mas, o que verifiquei, após os testes, é que as células BLOQUEADAS não são selecionadas.

 

Por sua vez, a células com validação de dados (presentes nas células em cinza e na tabela) apenas permitem edição após dá um duplo fora delasou seja, em qualquer ponto área bloqueada.

 

Para melhor compreensão, veja as observações sobre isso do post anterior:

 

Em 22/08/2022 às 17:01, Nilton Cézar disse:
  • Não foi possível deixar as células bloqueadas aptas a serem selecionadas. Há a possibilidade de permitir que as células bloqueadas sejam selecionadas? Com outra macro talvez?
  • Percebi que as células que contêm validação de dados (textos suspensos na célula), presentes nos campos cinzas e na tabela, não permitem edição. A célula fica meio “engessada”. Na verdade, elas apenas se tornam editáveis, quando se dá um duplo clique em qualquer ponto da área bloqueada. Isso é normal? É decorrente do trecho de bloquear da macro acima? É possível permitir que essas células com validação de dados sejam passíveis de edição dando um duplo clique sobre elas mesmas? 

 

Com isso, o que eu imaginei é que, se as células BLOQUEADAS pudessem ser selecionadas e se as validações permitissem edição com um duplo clique nelas mesmas, a planilha ficaria mais flexível, sem aquele aspecto de engessamento e, pois, com uma manipulação mais agradável.

 

Diante disso, Midori, é possível deixar as células BLOQUEADAS selecionáveis e editar as células com validação dando um duplo clique sobre elas próprias?

 

Mais uma vez, obrigado pela grande ajuda.

 

Postado
50 minutos atrás, Midori disse:

Aqui consigo selecionar as celulas bloqueadas e as com validação normalmente.

 

Midori, eu também consigo selecionar as células bloqueadas e as com validação.

 

Na verdade, o que não estou conseguindo é: selecionar as células BLOQUEADAS e editar aquelas com validação dando um DUPLO CLIQUE SOBRE ELAS MESMAS.

 

Suponho que tenha compreendido essa informação, por isso tenha sugerido a linha de código abaixo, para  atender a esse funcionamento acima descrito.

 

ActiveSheet.EnableSelection = xlNoRestrictions

 

A propósito, confesso que não entendi onde deve ser posto o comando supra.

 

Sub Teste()

'Variável para DESBLOQUEAR a planilha.
Dim pswStr As String
'Update by ExtendOffice 20181106
'Linha abaixo sem senha.
    pswStr = ""
    On Error Resume Next
   Application.ScreenUpdating = False
   ActiveSheet.Unprotect Password:=pswStr

Aqui fica a macro principal.

'Após, a planilha volta a ser BLOQUEADA automaticamente.
ActiveSheet.Protect Password:=pswStr, DrawingObjects:=False, _
                        Contents:=True, Scenarios:=False, _
                        AllowFormattingCells:=True, AllowFormattingColumns:=True, _
                        AllowFormattingRows:=True, AllowInsertingColumns:=True, _
                        AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
                        AllowDeletingColumns:=True, AllowDeletingRows:=True, _
                        AllowSorting:=True, AllowFiltering:=True, _
                        AllowUsingPivotTables:=True

End Sub

 

Assim, considerando a macro acima citada, onde devo colocar aquela linha de código sugerida?  

 

Mais uma vez, obrigado.  

 

Postado
14 horas atrás, Nilton Cézar disse:

A propósito, confesso que não entendi onde deve ser posto o comando supra.

 

É na linha seguinte ao Protect, p.ex,

 

ActiveSheet.Protect Password:=pswStr, DrawingObjects:=True, _
    Contents:=True, Scenarios:=False, _
    AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, _
    AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
    AllowDeletingColumns:=True, AllowDeletingRows:=True, _
    AllowSorting:=True, AllowFiltering:=True, _
    AllowUsingPivotTables:=True
    
ActiveSheet.EnableSelection = xlNoRestrictions

 

Talvez assim resolva a questão da seleção das células com validação, mas caso ainda tenha problema tenta deixar Scenarios como True.

  • Curtir 1
Postado
Citação

(...)  mas caso ainda tenha problema tenta deixar Scenarios como True.

 

Já deixei Scenarios como True. Aquele comando foi do primeiro código que postei. Na verdade, todos os argumentos de Protect eu deixei como True.

 

1 hora atrás, Midori disse:

Talvez assim resolva a questão da seleção das células com validação (...).

 

Midori, com a linha de código sugerida, agora é possível selecionar as células bloqueadas. Nesse sentido, o comando funcionou direitinho.😀

 

Contudo, as células com validação, embora permitam a seleção, o que já era possível antes, não admitem edições dando um duplo clique sobre elas (que é o que estamos buscando). Nem mesmo fora delas (o que também era possível antes).

 

Anteriormente, as células com validação ainda permitiam alterações dando um duplo clique em qualquer ponto da área bloqueada da planilha, com esse novo ajuste nem isso é mais possível agora.

 

⚠️ Assim, as informações ficaram inalteráveis nas células com validação. Nesse aspecto, a linha recomendada não é interessante para a planilha.

 

 

Citação

Isso acontece porque o argumento DrawingObjects de Protect está como False, deixe como True para não permitir a edição.

 

De qualquer forma, Midori, o desempenho da planilha com o ajuste sugerido por você anteriormente, conforme a citação acima, se aproximou bastante da performance esperada para a planilha Relatório, com os comandos de desbloquer/bloquear funcionamento satisfatoriamente.

 

 

:tw_cry:  Pois bem, certamente devido ao funcionamento do comando acima, acredito que realmente não seja possível conseguir editar as células com validação dando um DUPLO CLIQUE SOBRE ELAS MESMAS, como desejado.

 

Midori, você ainda teria alguma outra sugestão, para tentar alcançar a pretensão acima, ou podemos entender que esse é o melhor desempenho obtido para a planilha?

 

Obrigado, Midori, pela grande ajuda.

Postado
30 minutos atrás, Nilton Cézar disse:

acredito que realmente não seja possível conseguir editar as células com validação dando um DUPLO CLIQUE SOBRE ELAS MESMAS, como desejado.

Faça um teste com DrawingObjects False. Acho que assim vai conseguir, mas também vai permitir mover os botões.

 

  • Curtir 1
Postado
1 hora atrás, Midori disse:

Faça um teste com DrawingObjects False. Acho que assim vai conseguir, mas também vai permitir mover os botões.

 

Midori, acredito que chegamos a um denominador comum: podemos entender que alcançamos o melhor desempenho possível para a planilha, com o ajuste feito no argumento DrawingObjects de Protect com True, como sugerido por você anteriormente.

 

Esse projeto vai ajudar bastante. Economizando tempo e otimizando o trabalho realizado na confecção de relatórios. Aliás, eu já vinha usando essa ferramenta com bons resultados mesmos antes de totalmente concluído.

___________________________________________________________________

 

 

Midori, na aba Ajuda, temos a opção de escolher o tópico “MANUAL PARA RELATÓRIOS”. Trata-se de um conjunto de orientações sobre benefícios previdenciários aplicáveis à elaboração de relatórios.

 

Os textos desse manual foram dispostos nas linhas através do ícone “Quebrar Texto Automaticamente” (Página Inicial > Quebrar Texto Automaticamente).

 

Pois bem, tentei criar uma macro para gerar um PDF desse manual, para servir de auxílio para o usuário; porém não deu certo.

 

Entre alguns problemas encontrados nos PDF’s gerados, foram que os textos ficavam cortados pelas linhas, ou seja, os textos não ficavam integralmente visíveis dentro da linha.

 

Na macro 5, tem uma macro que você criou (Sub RelAudRELATÓRIO_GerarPDF) que gera o relatório automaticamente na mesma pasta onde a planilha for salva. Gostaria de que a macro em questão tivesse a mesma execução.

 

Assim, Midori, se possível, teria como você me enviar uma macro para gerar o PDF daquele Manual (na aba Ajuda), sem cortes de textos (totalmente visíveis nas linhas), em seguida, enviando automaticamente o arquivo desse manual para a mesma pasta onde se encontra salvo o projeto, assim como executa a macro acima.

 

Agradeço pela ajuda e espero não está abusando de sua prestatividade.

 

Postado

@Nilton Cézar Dexei o limite de linhas como 242.

 

Sub ManualPDF()
    Range([B21], [B242].End(xlUp)).ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=ActiveWorkbook.Path & "\Manual.pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...