Anteponer un carácter a una columna

Lo que necesito es que al seleccionar con un click bajo una columna (A, B..), y seguidamente darle click a un botón, que también debo crear, me le anteponga un carácter a cada celda., actualmente lo hago con concatenar, pero siempre me toca digitar ese carácter en una celda y después concatenar en una nueva fila, y el problema, es que es con varios archivos que me envían, por eso necesito 1) como creo el botón, y 2) que le coloque el carácter. Ej:
Antes Después
5050 '5050
8500 '8500
Respuesta
1
Sub cargarcaracter()
Dim rng As New Range, cel As Range
Set rng = Range("A1:A450")
For Each cel In rng.Cells
If cel.HasFormula Then
Else
cel.Formula = "'" & cel.Formula
End If
Next cel
End Sub
Sobre como hacer un botón ya aparecerán candidatos a darte una respuesta
Galileogali
http://excelgali.mejorforo.net
Gracias, 2 cositas
1) As new range, me saca error, entonces le quite la palabra new, y funciona.
2) Como se puede modificar el código que me enviaste, para que tome la columna que este selecciona, o el rango que esta marcado, porque como tengo varias columnas, que necesito cambiar, y estoy creando un botón, y ese referencia la columna A, en este contexto, me tocaría crear n botones por las n columnas a cambiar.
Gracias.
Sub cargarcaracter()
Dim rng As Range, cel As Range
Set rng = Selection("A1:A450")
For Each cel In rng.Cells
If cel.HasFormula Then
Else
cel.Formula = "'" & cel.Formula
End If
Next cel
End Sub
Es cierto ese New estaba demás, vaya a a saber por que...
Ahora quedó como para que la acción tome efecto sobre el rANGO SELECCIONADO TENGA ESTE UNA COLUMNA O 40...
Galileogali
http://excelgali.mejorforo.net
Disculpa la molestia, pero el código quedo igual que el primero, hace mención a la columna A, y necesito que le anteponga el carácter a una columna seleccionada.
Gracias por tu ayuda oportuna, imaginate que necesito una variante, al estar trabajando con esos archivos, me di cuenta que en algunas columnas llega un numero que empieza con letra, como evalúo, que si empieza con una letra no le coloque la comilla, y si es numero, que si le coloque la comilla.
Disculpa y gracias.
Sub cargarcaracter()
Dim rng As Range, cel As Range
Set rng = Selection
For Each cel In rng.Cells
If cel.HasFormula Then
Else
if Asc(ucase(cel.value)) >64 And Asc(Ucase(cel.value)) <91 Then
Else
cel.Formula = "'" & cel.Formula
End If
End If
Next cel
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas