Ir ao conteúdo
  • Cadastre-se

fazer sub igual function em vba excel


Tiago Araújo

Posts recomendados

Bom dia pessoal,

 

Eu sei que uma function só retorna um valor e não executa rotinas. É possível fazer uma rotina sub com variável como se fosse uma function? Abaixo tem um exemplo bem simples só para entender o que quero, nele eu gostaria de variar o "plan1". Pois eu gostaria de reutilizar este código e não criar um para cada planilha. 

 

 

Sub LimpaConteudoAntigo(planilha as string)
  
    Worksheets(planilha).activate
  
    Rows("4:200").Select
    Selection.ClearContents
    
End Sub
 
...
 
LimpaConteudoAntigo(plan1)
 
...
 
LimpaConteudoAntigo(plan2)
 
Obrigado!
 
 
 
 
 
 
Link para o comentário
Compartilhar em outros sites

é possível sim, eu mesmo uso assim, minhas macros funcionam com qualquer planilha "infelizmente até as que eu não quero :P"

 

coloque a macro num modulo e as variáveis como publicas

 

esse é o exemplo de uma macro que eu uso

Ela copia um setor definido por ti até cf da planilha "FIXA" na planilha ativa na mesma posição.

Public Plan_Aq As String         'Planilha Ativa
Public Plan_Princ As String     'Planilha Principal

 

Sub..."define as planilhas

Plan_Aq = ActiveSheet.Name       'Planilha Ativa
Plan_Princ = "Fixa"                            'Planilha Principal

...

 

Sub Reseta()

If Plan_Aq <> Plan_Princ Then

Range(Ti & Li, Cf & Lf).ClearContents

Range(Ti & Li, Cf & Lf) = Sheets(Plan_Princ).Range(Ti & Li, Cf & Lf).Value

end if
End Sub

---------------------------------------------------------------------

 

 

Creio que essa sua ficaria

colocada em um modulo iria funcionar em qualquer planilha ativa

 

Sub LimpaConteudoAntigo()
    Rows("4:200").ClearContents   
End Sub

 

funcionaria em planilha definida separadamente por  Plan_Princ  em outra macro

 

Sub LimpaConteudoAntigo()
    Sheets(Plan_Princ).Rows("4:200").ClearContents   
End Sub
 
existem varias possibilidades
Basta colocar as macros em módulos e definir as variáveis como publicas caso queira  compartilhar valores entre macros,
 
Tipo uma macro verifica uma certa situação, e dependendo ela define em (NOME_PLAN) a planilha que será executada ,chama uma outra macro que  vai ser executada em (NOME_PLAN) .
Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...