Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#65602
Boa tarde
O Objetivo planilha é sempre que escolher um nome na combo localizado na célula "G7" acionar macros respectivas.
Se possível, sempre que houver uma troca de nome na célula “G7”, Rodariam macros distintas para cada escolha, por exemplo, se escolher o equipamento "A" Relaciona-se com as ranges (B2:M52; O2:Z52; AB2:AM52; AO2:AZ52) e assim sucessivamente.
Até tentamos um modelo de macro (conforme planilha "Gráfico"), porém sem sucesso.
Ressalva: Maiores detalhes na planilha anexo.
Desde já agradeço
Você não está autorizado a ver ou baixar esse anexo.
#65604
Salve, Por CAMILOALVES - 08 Jul 2021 às 16:32.

Cole uma cópia do código abaixo no lugar do existente com nome igual no módulo da planilha GRAFICOS .
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Address <> "$G$7" Or Target.Value = "" Then Exit Sub
 On Error Resume Next
 Application.Run Target.Value
 On Error GoTo 0
End Sub
#
obs.
1. os códigos A, B e C precisam ser removidos do módulo da planilha e colocados em um módulo comum.
2. o código acima funcionou se G7 for A ou B, mas não funcionou se for C (não descobri o motivo), porém funcionou após alterar de C para CC (alterei tanto na macro quanto na lista suspensa).
3. para os demais valores de G7 não encontrei a macro correspondente, então coloquei um tratamento de erro e assim o código irá encerrar sem travar caso a macro não seja encontrada em um módulo comum.
CAMILOALVES agradeceu por isso
#65636
Prezado osvaldomp - 08 Jul 2021 às 22:05, Boa Tarde!
Primeiramente Muitíssimo Obrigado Por Dispor de Seu Tempo e Conhecimentos Para Ajudar-me.
Então.....
A ideia é essa mesmo, porém, acho que não me expressei direito, os dados a serem exibidos logo após manuseio da combo na célula “G7” da planilha “GRAFICOS”, são os gráficos contidos na planilha “GRAFICOS_01”.
Ressalvas: Apliquei todas as suas orientações, substituindo os códigos e alocando os mesmos para módulo 219. Após as adaptações parou de funcionar, devo ter feito algo de errado.
Se possível teria como Você Analisar onde foi que Eu Errei.
Anexo novamente a planilha com todas as alterações.
Desde Já Agradeço.
Você não está autorizado a ver ou baixar esse anexo.
osvaldomp agradeceu por isso
#65637
Salve, @CAMILOALVES .

Peço desculpas, o erro foi meu. :oops:

Coloque uma cópia do código abaixo no lugar do anterior que passei.

Deixei o item COMPRESSOR comentado pois ele aparece na lista suspensa de G7 porém não encontrei a macro com esse nome e aí retorna erro. Caso venha a existir uma macro com esse nome então basta remover o apóstrofo do início da linha no código.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Address <> "$G$7" Or Target.Value = "" Then Exit Sub
  Select Case Target.Value
   Case "ASC01": Call ASC01
   Case "ASC02": Call ASC02
   'Case "COMPRESSOR": Call COMPRESSOR
   Case "DESBOBINADEIRA": Call DESBOBINADEIRA
   Case "DOBRADEIRA": Call DOBRADEIRA
   Case "GUILHOTINA": Call GUILHOTINA
   Case "METALEIRA CORTE/FURO": Call METALEIRA_CORTE_FURO
   Case "METALEIRA FURO": Call METALEIRA_FURO
   Case "PERFILADEIRA CANTONEIRA e VIGA U": Call PERFILADEIRA_CANTONEIRA_VIGA_U
   Case "PONTIADEIRA DE SOLDA": Call PONTIADEIRA_SOLDA
   Case "PRENSA-DOBRA": Call PRENSA_DOBRA
   Case "PRENSA-FURO": Call PRENSA_FURO
   Case "ROSQUEADEIRA": Call ROSQUEADEIRA
   Case "SERRA FITA": Call SERRA_FITA
   Case "SLITTER": Call SLITTER
   Case "STEEL DECK": Call STEEL_DECK
  End Select
End Sub
CAMILOALVES agradeceu por isso
#65709
Prezado osvaldomp - 09 Jul 2021 às 19:39, Bom Dia!
Primeiramente Obrigado Pela Paciência e Por Disponibilizar Seu Tempo Para Ajudar-me.
Então...
A ideia é essa mesmo, porém as ranges delimitadas nas macros contidas no Módulo 219 têm o propósito de, ao serem provocadas pelas alterações contidas na célula “G7” da planilha “GRAFICOS”, exibirem os dados respectivos aos gráficos existentes na planilha “GRAFICOS_01”.
Desculpe se não me expressei direito.
Se possível peço que analise a viabilidade do contexto.
Obs: Segue Planilha Já Considerando a Nova Macro.
Atenciosamente
Você não está autorizado a ver ou baixar esse anexo.
#65720
Salve, @CAMILOALVES .

Eu tratei apenas do tema do seu tópico, que é "chamar a respectiva macro com base no conteúdo de G7", não me ocupei com a finalidade de cada macro.

Com base nos seus últimos comentários, olhei a primeira macro do Módulo219 e me parece que você quer selecionar alguns intervalos e gravar a seleção em PDF. Como você não indicou a planilha na qual você quer que a seleção seja feita, então a macro atua na planilha ativa.
No entanto, se você quer que a seleção ocorra na planilha GRAFICOS_01, como citado no seu ultimo post, então é preciso indicá-la, algo conforme abaixo.
#
seu código
Sub ASC01()
Range("B2:M52,O2:Z52,AB2:AM52,AO2:AZ52").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Caminho, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub


acrescente o comando para ativar a planilha desejada, conforme em vermelho abaixo
Sub ASC01()
Sheets("GRAFICOS_01 ").Activate
Range("B2:M52,O2:Z52,AB2:AM52,AO2:AZ52").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Caminho, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub


obs.
1. testei esse seu código acima e travou, aparentemente por conta da variável caminho, verifique
2. na linha em vermelho que eu sugeri, o nome da planilha tem um espaço no final. Copiei o nome diretamente da guia da planilha no seu arquivo.
CAMILOALVES agradeceu por isso
#65770
Prezado osvaldomp - 13 Jul 2021 às 20:32, Bom Dia!
Primeiramente Muito Obrigado Por Disponibilizar Seu Tempo Para Ajudar-me, Pela Compreensão e Paciência. E Desculpe Pelos Transtornos.
Perfeito, Era Isso Mesmo, Segui Suas Orientações e Repliquei o Comando Sheets("GRAFICOS_01 ").Activate para todas as macros do módulo219.
Fica Com DEUS!
Atenciosamente
osvaldomp agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord