Notifications
Clear all

Substituir Caracter Especifico

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

oa tarde,

Já revirei a internet e só achei referencia para formula, mas gostaria de fazer em VBA. A formula encontrada já deu o caminho, resta saber como percorrer por ele.

No texto: \sc-s018departamentalLogísticaProgramaçãoProgramaç ão 201310 - OutubroProg. 25.10 CDPA.xlsx
A formula da célula B6 deve substituir apenas a ultima barra da direita, para assim poder extrair o nome do arquivo do restante do caminho da rede.
O que acontece, é que retorna a alteração de todas as barras do texto.

Abaixo segue o código VBA que montei com base nas formulas acima, porém o calculo da variavel v4 é que substitui todas as barras do texto e nao somente a ultima como na formula.

O que esta errado !??!

Sub FolderAndFile()
Dim vPath As String
Dim v1 As String
Dim v2 As String
Dim v3 As String
Dim v4 As String
Dim v5 As String
Dim vFile As String
Dim vFolder As String

vPath = Sheets("Config").Range("A1").Value
'=SUBSTITUIR(H25;"";"")
v1 = Replace(vPath, "", "")
'=NÚM.CARACT(K30)
v2 = Len(v1)
'=NÚM.CARACT(H25)
v3 = Len(vPath)
'=SUBSTITUIR(H25;"";"|";K32- K31)
v4 = Replace(vPath, "", "|", (v3 - v2))
'=PROCURAR("|";K33)
v5 = WorksheetFunction.Search("|", v4)
'=DIREITA(H25;K35-K34)
vFile = Right(vPath, v3 - v5)
'=ESQUERDA(H25;K34)
vFolder = Left(vPath, v5)

Range("A3").Value = v1
Range("A4").Value = v2
Range("A5").Value = v3
Range("A6").Value = v4
Range("A7").Value = v5
Range("A7").Value = v3
Range("A9").Value = vFile
Range("A10").Value = vFolder

End Sub

Desde já agradeço toda e qualquer ajuda, luz, dica........

Att,

Volnei

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

 
Postado : 31/10/2013 11:55 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

volnei, se está querendo o retorno somente do nome do arquivo, tente a rotina abaixo :

    Sub FolderAndFile()
        Dim vPath As String
        Dim x As Variant
        Dim i As Long
    
            vPath = Sheets("Config").Range("A1").Value
        
            sTrim = Application.Trim(vPath)
            
            x = Split(vPath, "")
            stWord = x(0)
            n = stWord
        
            For i = 1 To UBound(x)
                    stWord = x(i)
                  n1 = stWord
            Next i
     
            narquivo = n & "" & n1
            MsgBox narquivo

    End Sub

[]s

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

 
Postado : 31/10/2013 12:34 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro,

Excelente....... muitissimo obrigado !!!!

A dois dias estou testando e procurando na internet uma solução para AQUELA formula do VBA. Ou seja, me limitei aquilo e não procurei outros caminhos.

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

 
Postado : 31/10/2013 1:36 pm