Saltar al contenido

Extraer moneda de una celda con formato personalizado

publicado

Hola buen día,

Estimados tengan una excelente mañana, favor su ayuda si se puede extraer el formato de celda personalizado (solo la moneda) a otra celda.

En la columna A y B tengo los siguientes datos y necesito extraer la moneda a la columna C y que mede el resultado en la columna D, he realizado un código muy largo me gustaría saber si se puede optimizar o alguna mejor forma de hacerlo.

 

mil gracias

HELP.xlsm

Featured Replies

publicado
  • Autor

Genial, Gracias por tu ayuda, alguna sugerencia para extraer la moneda?? de una celda personalizada. Bendiciones

publicado

Buenas, te paso el codigo mas simplificado

Sub extrae()
endRow = Range("A" & Rows.Count).End(xlUp).row
        
    For i = 2 To endRow
        Formato = Range("A" & i).NumberFormat
        Formato = Mid(Formato, InStr(1, Formato, " ") + 1, Len(Formato) - InStr(1, Formato, " ") - 1)
            Range("C" & i) = Formato
            resul = Application.WorksheetFunction.Sum(Range("A" & i), _
            Range("B" & i).Value)
            Range("D" & i) = Format(resul, "#,#00.00 " & Formato)
    Next i
End Sub

 

HELP_v1.xlsm

publicado
  • Autor

Excelente, MIL GRACIAS.... bendiciones.

publicado
Sub extrae()
   Application.ScreenUpdating = False
   For i = 2 To Range("A" & Rows.Count).End(xlUp).row
     Range("C" & i) = Split(Range("A" & i).Text, " ")(1)
   Next i
End Sub

Me olvidé de dar al botón Guardar ?

publicado
  • Autor

Genial Antoni, Dios lo bendiga... increíble hay muchas formas de solucionar esto... 

publicado

Muy buena forma de utilizar split , ?(me la apunto)

con la aportacion de @Antoni

Sub extrae()
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
      Range("C" & i) = Split(Range("A" & i).Text, " ")(1)
      Range("D" & i) = Format(Application.WorksheetFunction.Sum(Range("A" & i), Range("B" & i).Value), "#,###.00 " & Range("C" & i))
    Next i
End Sub

se reduce más.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.