Página 1 de 1

Função Array

Enviado: 06 Nov 2017 às 09:54
por ramonmattos
Bom dia.

Estou tentando criar uma Array porem estou com algumas duvidas.

Minha função executa um loop da seguinte forma:

Ela verifica se 15 planilhas tem o valor maior que Zero e define a área de impressão. Sendo

For BM = 1 To 15
Sheets("" & BM & "").Select
If Range("S45").Value > 0 Then
ActiveSheet.PageSetup.PrintArea = "$N$1:$S$62"
Else
End If
Next BM

O que desejo fazer é:

For BM = 1 To 15
Sheets("" & BM & "").Select
If Range("S45").Value > 0 Then
ActiveSheet.PageSetup.PrintArea = "$N$1:$S$62"
MANTER A PLANILHA SELECIONADA TIPO:
Sheets(Array(1;3;4;5;9;11;14;15).Select
Else
End If
Next BM

Isto é porque irei salvar a planilha em PDF e não quero que todas as abas sejam selecionadas!

Agradeço o apoio de todos.

Abraço.

Re: Função Array

Enviado: 06 Nov 2017 às 10:39
por babdallas
Coloque o nome da planilha entre aspas. Assim:
Código: Selecionar todos
Sheets(Array("1";"3";"4";"5";"9";"11";"14";"15").Select

Re: Função Array

Enviado: 06 Nov 2017 às 10:45
por gfranco
Bom dia.
Segue minha contribuição.
O array de planilhas será definido pela satisfação da condição de a célula "S45" de cada uma das planilhas ser maior que zero.
Eu entendi que vc quer salvar todas as planilhas num único pdf, por isso deixei a seleção de grupo.
Se quiser salvar individualmente as planilhas, um ajuste será necessário.
Deixei os comentários no módulo
Dê retorno.
Giovani

Re: Função Array

Enviado: 06 Nov 2017 às 15:16
por ramonmattos
Giovani meu mestre era isso que eu precisava!!!! Porem falta só um detalhe!

tem uma planilha que sempre irá no PDF o nome dela é "MC_HE"

Ela sempre será enviada junto com as planilhas do loop, tipo assim:

Sheets(Array("1";"3";"4";"5";"9";"11";"14";"MC_HE").Select

Teria como voce me ajudar?

Re: Função Array

Enviado: 06 Nov 2017 às 15:37
por gfranco
Boa tarde.
Fico feliz que tenha ajudado.
Feito conforme sua solicitação.
Observe o exemplo e reproduza no seu cenário.
Veja que eu costumo trabalhar com os codenames das sheets e não com seus nomes.
Deixe a planilha que vai ser constante como ultima (pois o loop percorre de 01 a 15) do livro igual eu fiz neste exemplo que posto agora.
Sds