Ir ao conteúdo

Posts recomendados

Postado

Oi Pessoal, estou com um problema em uma rotina para criar abas na minha planilha

 

O meu codigo é muito maior mas o problema esta nesse rotina aqui:

Sub codigo()

cntsheets = Application.Sheets.Count

Set NewSheet = Application.Worksheets.Add(after:=Worksheets(cntsheets))

NewSheet.Name = "Regression"

FinalCol = 0

ShtName = Application.ActiveSheet.name

End Sub

Com essa rotina eu crio a aba "Regression". Para criar a aba "Regression1" eu preciso alterar no codigo o q era Regression para Regression1e mandar rodar. e assim por diante até a aba Regression5

Bom, uma solucao q eu tentei foi essa:

Sub codigo()

cntsheets = Application.Sheets.Count

Set NewSheet = Application.Worksheets.Add(after:=Worksheets(cntsheets))

For i=1 to 5

NewSheet.Name = "Regression" & i

Next

FinalCol = 0

ShtName = Application.ActiveSheet.name

End Sub

 

Só que apesar de criar vem com um erro: "Erro de definicao de aplicativo ou de definição de objeto"

 

Como consigo evitar de entrar no codigo e ficar alterando de Regression para Regression1 e mandar rodar; de Regression2 para Regression3 e mandar rodar; e assim sucessivamente até Regression4.

Postado

Experimente assim!!!

 

Sub codigo()

cntsheets = Application.Sheets.Count

For i = 1 To 5
Set NewSheet = Application.Worksheets.Add(after:=Worksheets(cntsheets))
NewSheet.Name = "Regression" & i

Next

End Sub

  • Curtir 1
Postado

@CasaDoHardware

 

Ja me ajudou bastante. Mas o meu problema é ligeiramente diferente. Vi q meu codigo nao representou muito bem a minha duvida.

 

Quando eu incluo o

For

ele cria dentro do codigo 5 abas de uma vez só. Eu quero criar essas abas a cada vez q eu mando rodar o codigo.

porque o codigo deve preencher em cada aba aberta.

 

Seria assim:

 

Eu rodo o codigo e ele cria a aba Regression 1 e automaticamente dentro dessa rotina ele preenche essa aba. Depois eu rodo o codigo novamente e ele cria a aba Regression2 e preenche essa aba.

 

O For cria 5 planilhas de uma vez só. Não é isso q eu quero.

 

Há como a cada CLICK no botão da Macro eu mudar automaticamente o texto Regression. Por exemplo: O primeiro CLICK estaria associado ao texto Regression1 e automaticamente criaria a aba Regression1. E assim scessivamente.

 

 

Postado

Dependendo do que você pretende fazer da pra fazer tudo em um unico codigo.


Incluisve dependendo do preenchimento é so você inserir seu codigo antes do next.

 

 

Sub codigo()

cntsheets = Application.Sheets.Count

For i = 1 To 5
Set NewSheet = Application.Worksheets.Add(after:=Worksheets(cntsheets))
NewSheet.Name = "Regression" & i

 

 

'Seu codigo para copiar entra aqui.

'Se for uma macro que ja esta pronta é so chamar o codigo aqui

 

'CALL Suamacro

 

Next

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!