none
VBA - ENCONTRAR PALAVRA ESPECIFICA E EXCLUIR TUDO ABAIXO DESTA PALAVRA RRS feed

  • Pergunta

  • Senhores,

    Tenho que realizar a seguinte situação:

    Recebo uma planilha com 320 guias onde tenho que montar um banco de dados. Esta situação de copiar todas as guias e colocar em uma guia somente eu consegui fazer isto através de VBA. Mas antes deste processo, eu preciso criar algo que encontre certa palavra “custo fixo total” que sempre será a ultima linha de toda guia, mas só que este nome pode esta na linha 52, 74, 82, 105 e por ai vai, não possui um determinada linha para cada guia.

    Sendo assim, após identificar esta palavra eu quero que ela exclua tudo o que esta abaixo. Tem como projetar esta demanda por VBA?

    Espero que tenham entendido e possam me ajudar

    EJM

    terça-feira, 21 de outubro de 2014 15:51

Respostas

  • Sub pMain()
      Dim ws As Excel.Worksheet
      Dim lLast As Long
      Dim lRow As Long
      Dim rFind As Excel.Range
      
      For Each ws In ThisWorkbook.Worksheets
        Set rFind = ws.Columns("A").Find("custo fixo total")
        If Not rFind Is Nothing Then
          Range(rFind.Offset(1), ws.Rows(ws.Rows.Count)).Delete
          'Inserir rotina para copiar dados na planilha de consolidação
        Else
          MsgBox "Erro: custo fixo não encontrado na planilha '" & ws.Name & "'.", vbCritical
        End If
      Next ws
      
    End Sub
    


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 21 de outubro de 2014 21:29
    Moderador

Todas as Respostas

  • Use a clausula like.

    http://www.macoratti.net/strings.htm

    if celula like "custo fixo total" then........


    Caracteres no Modelo

    Valor comparativo na string
    ? Qualquer caractere simples
    * Nenhum ou mais de um caractere
    # Qualquer digito simples ( "0", ..."9")
    [charlist] Qualquer caractere simples da lista de caracteres
    [!charlist] Qualquer caractere simples da não presentes lista de caracteres

    Vejamos alguns exemplos :

    Comparação

    Resultado

    "ABCD"   Like   "AB?D" True
    "ABC3D"  Like  "ABC#D" True
    "ABCD"   Like  "A???D" False
    "A$1D"   Like  "A*D" True

    Dim Compara
    Compara = "aBBBa" Like "a*a"                      ' Retorna True.
    Compara = "F" Like "[A-Z]"                          ' Retorna True.
    Compara = "F" Like "[!A-Z]"                         ' Retorna False.
    Compara = "a2a" Like "a#a"                         ' Retorna True.
    Compara = "aM5b" Like "a[L-P]#[!c-e]"          ' Retorna True.
    Compara = "BAT123khg" Like "B?T*"              ' Retorna True.
    Compara = "CAT123khg" Like "B?T*"              ' Retorna False.

    Caracteres no Modelo

    Valor comparativo na string
    ? Qualquer caractere simples
    * Nenhum ou mais de um caractere
    # Qualquer digito simples ( "0", ..."9")
    [charlist] Qualquer caractere simples da lista de caracteres
    [!charlist] Qualquer caractere simples da não presentes lista de caracteres

    Vejamos alguns exemplos :

    Comparação

    Resultado

    "ABCD"   Like   "AB?D" True
    "ABC3D"  Like  "ABC#D" True
    "ABCD"   Like  "A???D" False
    "A$1D"   Like  "A*D" True

    Dim Compara
    Compara = "aBBBa" Like "a*a"                      ' Retorna True.
    Compara = "F" Like "[A-Z]"                          ' Retorna True.
    Compara = "F" Like "[!A-Z]"                         ' Retorna False.
    Compara = "a2a" Like "a#a"                         ' Retorna True.
    Compara = "aM5b" Like "a[L-P]#[!c-e]"          ' Retorna True.
    Compara = "BAT123khg" Like "B?T*"              ' Retorna True.
    Compara = "CAT123khg" Like "B?T*"              ' Retorna False.

    Caracteres no Modelo

    Valor comparativo na string
    ? Qualquer caractere simples
    * Nenhum ou mais de um caractere
    # Qualquer digito simples ( "0", ..."9")
    [charlist] Qualquer caractere simples da lista de caracteres
    [!charlist] Qualquer caractere simples da não presentes lista de caracteres

    Caracteres no Modelo

    Valor comparativo na string
    ? Qualquer caractere simples
    * Nenhum ou mais de um caractere
    # Qualquer digito simples ( "0", ..."9")
    [charlist] Qualquer caractere simples da lista de caracteres
    [!charlist] Qualquer caractere simples da não presentes lista de caracteres
    terça-feira, 21 de outubro de 2014 17:54
  • Sub pMain()
      Dim ws As Excel.Worksheet
      Dim lLast As Long
      Dim lRow As Long
      Dim rFind As Excel.Range
      
      For Each ws In ThisWorkbook.Worksheets
        Set rFind = ws.Columns("A").Find("custo fixo total")
        If Not rFind Is Nothing Then
          Range(rFind.Offset(1), ws.Rows(ws.Rows.Count)).Delete
          'Inserir rotina para copiar dados na planilha de consolidação
        Else
          MsgBox "Erro: custo fixo não encontrado na planilha '" & ws.Name & "'.", vbCritical
        End If
      Next ws
      
    End Sub
    


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 21 de outubro de 2014 21:29
    Moderador