none
Worksheets com várias abas excel RRS feed

  • Pergunta

  • Boa tarde! Tenho um macro em uma pasta de trabalho excel que busca a informação apenas em uma aba. Preciso muito saber como escrever o código para buscar em todas as abas. Alguém pode ajudar?!

    Meu código abaixo!!! No lugar de apenas ("Dia 01") preciso usar várias abas (31, representando cada dia do mês): Dia 02, Dia 03, Dia 04, etc... De maneira que a macro busque a informação em todas as abas. A macro vai retornar mensagem de aviso se encontrar a informação em qualquer uma das abas.

    Private Sub Workbook_Open()

     Dim I As Variant

     Dim wshVenc As Worksheet

     Set wshVenc = Worksheets ("Dia 01") 'Altere para o nome da sua Aba

     For Each I In wshVenc.Range("A2:A" & wshVenc.Range("A65536").End(xlUp).Row)

     If I = "Falta um dia" Then

     MsgBox "Falta 1 dia para o vencimento"

     Exit Sub

     End If

     Next

    End Sub

    Obrigado.

    segunda-feira, 25 de setembro de 2017 17:52

Todas as Respostas

  • Boa tarde.

    Não entendi o que quis dizer... Se é pra colocar esse comando que disse, onde coloco? Depois de que? Poderia explicar melhor?

    Mas se seu objetivo foi que eu colocasse o código, já fiz isso no corpo da mensagem. Segue novamente:

    Private Sub Workbook_Open()

     Dim I As Variant

     Dim wshVenc As Worksheet

     Set wshVenc = Worksheets ("Dia 01")

     For Each I In wshVenc.Range("A2:A" & wshVenc.Range("A65536").End(xlUp).Row)

     If I = "Falta um dia" Then

     MsgBox "Falta 1 dia para o vencimento"

     Exit Sub

     End If

     Next

    End Sub

    segunda-feira, 25 de setembro de 2017 18:40
  • Boa tarde! Fiz o que disse, mas me retornou a seguinte mensagem de erro:

    Erro de compilação: Inválido fora de um procedimento.

    Pode ajudar?

    sexta-feira, 29 de setembro de 2017 18:56
  • Private Sub Workbook_Open() Dim I As Variant Dim wshVenc As Worksheet Dim j As Long For j = 1 To ThisWorkbook.Sheets.Count

    'Esta parte percorre as planilhas da pasta de trabalho 'coloque o código aqui ‘Você vai ter de estudar um pouquinho e ver direito o que deverá ser colocado aqui Next j Set wshVenc = Worksheets ("Dia 01") 'Altere para o nome da sua Aba For Each I In wshVenc.Range("A2:A" & wshVenc.Range("A65536").End(xlUp).Row) If I = "Falta um dia" Then MsgBox "Falta 1 dia para o vencimento" Exit Sub End If Next End Sub



    Anderson Diniz


    sábado, 30 de setembro de 2017 01:29