Tengo que poner el signo : $, en muchas celdas tanto en columna y celda

No se si habrá una macro para hacerlo o algún método, que desconozco, para hacerlo más rápido

1 Respuesta

Respuesta
-1

Hay tres formas

La más sencilla sin macros (checa la imagen), te pones en cualquier celda con datos das ctrl+e para seleccionar todo o bien con el mouse seleccionas los datos que quieres formatear, luego te vas a la barra de formatos y seleccionas el signo de pesos, sino aparece entras a la barra donde dice general y seleccionas moneda y listo por macro estas son las instrucciones, la primera es para un registro bien delimitado, la segunda seleccionara toda la información que tengas sin importar cuantas filas o columnas sean hasta encontrar una columna y una fila vacía.

Sub signo()
Range("a1:c8").NumberFormat = "$0.00"
End Sub
Sub signo2()
Range("a1").CurrentRegion .NumberFormat = "$0.00"
End Sub

Por tu interpretación, creo que hice mal la pregunta.
Tengo esta fórmula:
=Diario2!E13
Y necesito esto:
=Diario2!$E$13
Y tengo sobre 1000 fórmulas distintas en distintas celdas

Es lo malo de poner la información completa y sin una imagen de la información se presta a interpretaciones que no siempre son las correctas por ejemplo esta macro que requieres es tan simple que en una línea se resume, también lo puedes hacer directamente desde el menu inicio - buscar y seleccionar - reemplazar y das como parámetro de búsqueda ! Para cambiarlo por !$ y es todo, por macro es asi

Sub cambia()
Range("e13").CurrentRegion.Replace What:="!", Replacement:="!$"
End Sub

como no dijiste si las celdas son continuas o estan dispersas en la hoja, esta instruccion cambiara todas las formulas que esten alrededor de la celda E13 es decir arriba, abajo, a la derecha o a la izquierda y solo se detendra cuando encuentra una columna o fila vacia.

Me sale toda la línea en amarillo en visual Basic, en interrupción

La macro anterior no te sirve solo te pone un $ y tu quieres dos, este es el resultado de esta otra macro como sigo adivinando cual es la estructura de tus datos no se como vaya a funcionar, como puedes ver ya la macro tiene dos $ en la fórmula, en 1030 filas por 7 columnas tarda casi un minuto en cambiar todas las fórmulas.

Sub cambia()
inicio = Time
Set datos = Range("e13").CurrentRegion
With datos
    .CurrentRegion.Replace What:="!", Replacement:="!$"
        For i = 1 To .Cells.Count
            separa = Split(.Cells(i).Formula, "!")
            caracter = Left(separa(1), 2) & "$"
            largo = Len(separa(1))
            numeros = Right(separa(1), largo - 2)
            separa(1) = caracter & numeros
            xformula = separa(0) & "!" & separa(1)
            .Cells(i) = xformula
        Next i
fin = Time
tiempo = fin - inicio
MsgBox (.Cells.Count & " celdas cambiadas en " & Minute(tiempo) & " minutos y " _
& Second(tiempo) & " segundos"), vbInformation, "Aviso"
End With

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas