none
macro "localizar e substituir" RRS feed

  • Pergunta

  • Alguem pode me ajudar?

    Preciso substituir uma coluna de Letra por uma coluna com Numeros (20000 linhas). Veja abaixo. O que está na coluna A deve ser substituido pelo o que está na coluna B.

    Coluna A                   Coluna B

    ENE                             67,5

    SSE                             157,5

    E                                  90

    NNE                              22,5

    Estou usando a seguinte macro, mas onde tem E ele substitui por 90 e no restante ele coloca zero!

    NNE                              90

    ENE                               90090

    Segue abaixo a macro utilizada:

    Sub substituir()

      Dim lngRow As Long
      Dim rng As Range
      Dim lngLast As Long
      Dim wksSubstituir As Worksheet
      
      Set wksSubstituir = ThisWorkbook.Worksheets("substituir")
      Set rng = Intersect(Selection, ActiveSheet.UsedRange)
      
      With wksSubstituir
        'Configuração da caixa de pesquisa:
        wksSubstituir.Range("A1").Replace What:="substituir" _
        , Replacement:="substituir" _
        , LookAt:=xlPart _
        , SearchOrder:=xlByRows _
        , MatchCase:=False _
        , SearchFormat:=False _
        , ReplaceFormat:=False
        lngLast = .Cells(.Rows.Count, "A").End(xlUp).Row
        For lngRow = 1 To lngLast
            rng.Replace What:=.Cells(lngRow, "A") _
            , Replacement:=.Cells(lngRow, "B")
        Next lngRow
      End With
    End Sub


    quarta-feira, 13 de dezembro de 2017 19:44

Todas as Respostas

  • Option Explicit
    
    Sub teste()
        
        
        
        'ENE 67, 5
        
        'SSE 157, 5
        
        'E 90
        
        'NNE 22, 5
        
        
        Dim linha As Long
        Dim sigla As String
        
        linha = 1
        
        While ThisWorkbook.Sheets("Planilha1").Range("B" & linha).Value <> ""
            
            sigla = CStr(ThisWorkbook.Sheets("Planilha1").Range("A" & linha).Value)
            
            
            Select Case sigla
                    
                Case "ENE"
                    
                    ThisWorkbook.Sheets("Planilha1").Range("A" & linha).Value = 67.5
                    
                Case "SSE"
                    
                    ThisWorkbook.Sheets("Planilha1").Range("A" & linha).Value = 157.5
                    
                Case "E"
                    
                    ThisWorkbook.Sheets("Planilha1").Range("A" & linha).Value = 90
                    
                Case "NNE"
                    
                    ThisWorkbook.Sheets("Planilha1").Range("A" & linha).Value = 22.5
                    
            End Select
            
            linha = linha + 1
        Wend
        
        
    End Sub
    


    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 quinta-feira, 14 de dezembro de 2017 02:57
    quinta-feira, 14 de dezembro de 2017 02:57