Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/08/2008, 02:47
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 17 años, 3 meses
Puntos: 37
Respuesta: AYUDA: modificar un string de excel

Cita:
Iniciado por Reznorcito Ver Mensaje
Estimados, recurro a sus conocimientso una vez mas.

Resulta que tengo un Excel con miles de campos numericos donde tengo q agregarles a cada uno un "guión" en el medio.

Todos los números son del tipo:

123 4567 8910

y necesito q esa misma celda quede de esta forma:

123-45678910

Entonces tengo que agregarle un guión y al mismo tiempo borrarle un espacio que tiene mas adelante (pq si fuese un solo espacio, simplemente reemplazo lso espacios por guiones, pero no es tan simple)

Estoy atento a recomendaciones.. ya q no tengo idea de Visual Basic (si fuese en C o Php facilmente podria hacerlo.. jejee)

Salu2!!!
Hola,
en VB6 lo podrías hacer de esta forma (suponemos que la columna a modificar es la 3, la primera fila la 2 y la última 20900 y el nombre de la hoja a modificar 'Hoja1'):

Código:
Dim miXLS As String
    Dim oExcel As Object, oWorkbook As Object
    Dim sVar As String, sCelda As String, i As Long
    
    miXLS = App.Path & "\MiExcel.xls"
    Set oExcel = CreateObject("Excel.Application")
    Set oWorkbook = oExcel.Workbooks.Open(miXLS)
    oExcel.Sheets("Hoja1").Select
    For i = 2 To 20900
        sCelda = oExcel.Cells(i, 3)
        sVar = Left(sCelda, 3) & "-" & Mid(sCelda, 5, 4) & Right(sCelda, 4)
        oExcel.Cells(i, 3).Value = sVar
    Next i
    oExcel.ActiveWorkbook.Close True  'Guarda los cambios sin preguntar
    oExcel.Quit
    Set oWorkbook = Nothing
    Set oExcel = Nothing
    MsgBox "Se modificaron las celdas"
Te advierto que el código es bastante lento, no sé si habrá otra forma más rapida de hacerlo.