Usuário com melhor resposta
MACRO PARA EXECUTAR EM TODAS AS PLANILHAS DO ARQUIVO

Pergunta
-
Bem pessoa, pesquisei muito sobre o assunto aqui no fórum para não fazer uma pergunta repetida, entretanto as respostas que achei não funcionaram comigo.
Tenho um determinado procedimento e preciso que ele seja executado em todas as sheets do arquivo.
Achei uma pergunta semelhante aqui:
https://social.msdn.microsoft.com/Forums/pt-BR/61ff4f52-a61f-451c-a057-c99cb399b0b1/executar-macro-em-planilhas-especifcas?forum=vbapt
Mas a resposta do Felipe não funcionou no meu código... qualifiquei todos os objetos Range, mesmo assim não funciona.
Desde já obrigado.
Respostas
-
Ola,
Sub Ação() For i = 1 To Sheets.Count Sheets(i).Range("A2") = "1" Next i End Sub
Será isto?
- Marcado como Resposta JonnyFelix quinta-feira, 9 de abril de 2015 17:48
-
miguelinho, seu código funcionou perfeitamente pra mim, só alterei pra ficar assim
For i = 1 To Sheets.Count Sheets(i).Select 'PROCEDIMENTO' Next i End Sub
Natan, seu código só funcionou na planilha que está ativa na hora que executo a macro. Quando passa pra próxima nada acontece, mas muito obrigado também pela ajuda
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 10 de abril de 2015 00:12
Todas as Respostas
-
Ola,
Sub Ação() For i = 1 To Sheets.Count Sheets(i).Range("A2") = "1" Next i End Sub
Será isto?
- Marcado como Resposta JonnyFelix quinta-feira, 9 de abril de 2015 17:48
-
ajudando também:
você pode criar um método pedindo o nome da guia como parâmetro.
Sub main(strPlanilha As String) Dim p As Worksheet Set p = ThisWorkbook.Sheets(strPlanilha) p.Range("A1").Value = "teste" End Sub
aí você chama assim:
main "Plan1"
main "Plan2"
Natan
-
miguelinho, seu código funcionou perfeitamente pra mim, só alterei pra ficar assim
For i = 1 To Sheets.Count Sheets(i).Select 'PROCEDIMENTO' Next i End Sub
Natan, seu código só funcionou na planilha que está ativa na hora que executo a macro. Quando passa pra próxima nada acontece, mas muito obrigado também pela ajuda
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 10 de abril de 2015 00:12
-
Bom dia Senhores.
Eu estou com uma duvida você poderia me ajudar, preciso criar uma macro que copie alguns itens de uma tabela e eliminasse os duplicados e também preciso somar as quantidades desses itens.
E também na aba 1 chamada de geral, preciso colocar 2 botões que executem as macros nas demais planilhas menos na primeira que é a geral, isso para automatizar o nosso processo de lista de materiais.
A minha macro já está da seguinte forma, preciso completa-la com os dois itens que falei acima.
Sub Filtro_Avancado() ' ' Filtro_Avancado Macro ' Realiza filtro avançado. ' ' Atalho do teclado: Ctrl+f ' Range("'Geral'!A4:'Geral'!J1000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "A5:J6"), CopyToRange:=Range("A9:J9"), Unique:=False End Sub Sub Filtro_Avancado_2_Criterios() ' ' Filtro_Avancado_2_Criterios Macro ' Realiza filtro avanção usando duas linhas de critérios. ' ' Atalho do teclado: Ctrl+k ' Range("'Geral'!A4:'Geral'!J1000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "A5:J7"), CopyToRange:=Range("A9:J9"), Unique:=False End Sub Sub Limpar_Dados() ' ' Limpar_Dados Macro ' Limpa os dados da área de Critérios e da área de Extração. ' ' Atalho do teclado: Ctrl+d ' Range("A10:J1000").Select Selection.ClearContents Range("A10:J10").Select Range(Selection, Selection.End(xlDown)).Select Selection.ClearContents Range("J5").Select End Sub
Thank’s