Seleção de planilha...
 
Notifications
Clear all

Seleção de planilhas

6 Posts
1 Usuários
0 Reactions
1,968 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Consegui fazer o código abaixo para selecionar as várias planilhas.
Na Dim A tentei vincular a uma célula da planilha, onde através da função concatenar iria definir quais planilhas deveriam ser selecionas, mas não obtive exito. Como poderia deixar variável as planilhas?

Sub SelecionarPlan()

Dim A As Variant

A = Array("Plan1", "Plan2", "Plan3", "Plan4")
Sheets(A).Select
Sheets(A).Copy

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 31/08/2011 9:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigo,
Você já tentou usar isso?

Sub SelecionaPlanilhas()
Worksheets.Select
End Sub

Acho que vai te ajudar. :D

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 01/09/2011 6:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Neste caso vai selecionar todas as planilhas que tem no arquivo.
O que preciso é que selecione somente algumas planilhas conforme valor em determinadas células.
Por exemplo:
Células/Status:
A1 = VERDADEIRO
A2 = FALSO
A3 = FALSO
A4 = VERDADEIRO
A5 = VERDADEIRO

Neste caso, ao clicar no botão de macro "SelecionarPlan", selecionaria simultaneamente as planilhas: Plan1, Plan4 e Plan5

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 02/09/2011 9:12 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Experimente assim

Sub selecionarplanval()
Dim LRow As Long, NbPlan As Long
Dim MyArray() As Variant
LRow = Sheets("Plan1").Cells(Cells.Rows.Count, "A").End(xlUp).Row

NbPlan = 0
For i = 1 To LRow

If Sheets("plan1").Range("a" & i).Value <> "" Then
ReDim Preserve MyArray(NbPlan)
np = Sheets("plan1").Range("a" & i).Value
MyArray(NbPlan) = np
NbPlan = NbPlan + 1
End If
Next
Sheets(MyArray).Select
Sheets(MyArray).Copy

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 02/09/2011 9:50 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Puts! quase deu certo.
É que o nome das planilhas são do tipo: laranja, banana, macã, ou seja, não é um sequencial e sim uma palavra chave.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 02/09/2011 4:23 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Reinaldo, funcionou! Era só fazer uns ajustes.

Muito obrigado.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 02/09/2011 8:06 pm