Ir ao conteúdo
  • Cadastre-se
nick4xd

Listar todas as planilhas de outro documento em ComboBox (VBA)

Recommended Posts

Olá pessoal, estou com uma dúvida no seguinte:

 

Preciso listar todas as planilhas (exceto uma específica) de um documento X em uma ComboBox de um documento Y

 

Exemplo:

 

Tenho dois documentos Excel;

 

  1. Um se chama Doc1 e o outro se chama Doc2;
  2. No Doc1, existem quatro planilhas, a "Plan1", "Plan2" e "Plan3", "PlanEspecífica";
  3. No Doc2, tenho uma ComboBox no meu formulário;
  4. Quero que essa ComboBox liste o nome de todas as Planilhas do Doc1 exceto o "PlanEspecífica";
  5. No Doc2, eu já terei na célula A1, o caminho do Doc1, sendo necessário apenas, listar as Plans do Doc1 na ComboBox do Doc2;

 

Segue em anexo um exemplo 

 

Obrigado!

 

Att, 

 

Yago

Exemplo.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código irá abrir "Doc1" caso não esteja aberto.

Instale-o no módulo do "Form".

Private Sub UserForm_Initialize() Dim wb As Workbook, ws As Worksheet  On Error Resume Next  Set wb = Workbooks("Doc1")  On Error GoTo 0  If wb Is Nothing Then   Set wb = Workbooks.Open(Range("A1").Value)  End If   For Each ws In wb.Worksheets    If ws.Name <> "PlanEspecífica" Then     ComboBox1.AddItem ws.Name    End If   Next wsEnd Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Osvaldo. Farei o teste hoje a noite, mas acho que vai dar certo.

Fiz algumas tentativas, mas me faltavam algumas coisinhas, que você já colocou aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Osvaldo, deu certo.

 

Mas tem mais um detalhe que gostaria de fazer:

 

Além de listar todas a planilhas desejadas, gostaria de poder ter a opção de escolher no ComboBox, uma opção "Todos"

 

Para que eu possa fazer alteração em todas elas. Por exemplo:

 

No meu Doc2, seleciono a opção "Todos" no ComboBox, e, logo em seguida, um campo de texto será exibido (txtExemplo.Visible = True), que me permitirá editar a célula A1 de todas as planilhas do Doc1, exceto PlanEspecífica, ou seja,

 

ao selecionar "Todos" no ComboBox do Doc2, e digitar um texto no campo de texto txtExemplo e clicar em Inserir, esse texto será inserido na célula A1 da "Plan1", "Plan2" e "Plan3" do Doc1

 

Entendeu mais ou menos o que quero fazer? Vou deixar em anexo o documento de exemplo mais uma vez, com um campo de texto no formulário.

 

O exemplo já está quase pronto, creio que só falta editar a função do Botão cmdInserir para que seja feito a inserção do texto na célula A1 nas planilhas do Doc1, exceto no "PlanEspecífico"... Se puder me ajudar, ficarei grato!

 

Att, 

 

Yago Cypriano

Exemplo2.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×