Regresar a la Pagina de Inicio

26 de mar. de 2010

formato: insertar simbolos especiales en excel

Me consultó "anonimo" en la pagina "TusDudas" como insertar el símbolo el Euro en su planilla de Excel, que data de la versión 97' y (aparentemente) no está presente entre las opciones de Formato. Contestando su pregunta aprovecharé para ampliar el tema e indicar como insertar cualquier caracter especial dentro de una celda y, mejor aún, la forma de crear nuestro propio caracter y llevarlo a Excel.

[+/-] Ver el resto / Ocultar



11 comentarios:

Anónimo dijo...

En mi PC de escritorio (excel 2003) sosteniendo Alt+230 sale la letra MU del alfabeto griego.
Pero en la notebook (excel 2010) no hace nada. Aclaro que en la PC tengo panel numérico y en la notebook no...
Gracias.

Damian Omar Silva dijo...

si, generalmente entre las pc's y las notebooks existen diferencias, habría que revisar la configuración regional y de teclado de cada una.
en mi pc (tanto en excel 2010-beta como en la versión 2003) el ALT + 230 me arroja: µ.
lamentablemente no tengo ahora una notebook a mano para probar, pero apenas lo haga te digo.
fijate un dato curioso:
en A1 poné: 1 y en A2 poné 2. luego arrastrá y rellená la serie hasta la fila 255.
ahora en B1 ingresás: =Caracter(A1)
esta función te pone el codigo ascii de cada número, aunque en muchos casos no coincide con la siguiente tabla: http://www.elcodigoascii.com.ar/
... como si Excel tuviese su propio ascii =)
si hacemos esto con una macro, como por ejemplo:
Sub MyAscii()
MsgBox Chr(230)
End Sub
te dará como resultado un caracter muy distinto a la µ griega (el æ).
es todo un tema, pero con la funcion =Caracter() o el Sub que te pasé podrás ubicar el caracter que te hace falta.
muchas veces, si esto no te funciona, deberás presionar la misma combinación, pero anteponiendo un 0 (cero).
por ejemplo: ALT + 0230

en las notebooks generalmente debés presionar también la tecla "FN" (funcion) para acceder al
teclado numérico que se encuentra dentro de las letras, no al teclado numérico de la parte superior. sería: ALT + FN + 230

fijate que tal y me avisas.

Anónimo dijo...

COMO PUEDO PONER EN MI COMPUTADORA EL SIGNO DE ¢ (COLONES) Y HACER LO MISMO EN FORMULA, MI CORREO ES PITAFUENTES2008@HOTMAIL.COM PARA Q ME AYUDES GRACIAS

Damian Omar Silva dijo...

para agregar dicho símbolo tenés que seguir los pasos de la entrada, no comprendo bien que me preguntas con "y hacer lo mismo en fórmula". explicamelo un poco mas y lo vemos.
gracias x tu mensaje

RAIMOND dijo...

Hola Damian.
Necesito hacer una macro que identifique caracteres inválidos (definidos por mi) en una hoja y que ubique la celda o celdas donde éstos caracteres se encuentran y que no deje continuar la edición del archivo hasta que no sean corregidos dichos caracteres.

Ya tengo algo hecho, pero como lo tengo se hace muy extenso y quisiera saber si hay otra forma. Lo que tengo hecho es lo siguiente:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim validation As Boolean
validation = True
If Intersect(Target, [c4:c10]) Is Nothing Then Exit Sub
Do While validation = True
If Target Like "*ñ*" Or Target Like "*Ñ*" Or Target Like "*á*" Or Target Like "*Á*" Or Target Like "*ó*" Or Target Like "*Ó*" Or Target Like "*É*" Or Target Like "*é*" Then
MsgBox "Error, hay caracteres inválidos en uno o más campos"
ActiveSheet.Cells(4, 3).Select
SendKeys ("texto invalido")
End
Else
validation = False
CommandButton1.Visible = True
End If
Loop
End Sub

Damian Omar Silva dijo...

Hola Raimond, te paso un código que utilizo casi siempre en estos casos. Realmente tu ejemplo no está mal para nada y no es extenso. Quizás veas que el mío tiene muchas líneas, pero observa que varias de ellas son comentarios que dejo para explicarte el funcionamiento.

Private Sub Worksheet_Change(ByVal Target As Range)
'creo una constante con todos los caracteres no permitidos:
Const Cadena As String = "ÑÁÓÉñáóé"
Dim LetraNo As String

'con un bucle recorro uno por uno los caracteres de Cadena
'y con InStr() veo si dentro de la celda se encuentra alguna
'letra no permitida:
For x = 1 To Len(Cadena)
'si instr me devuelve un valor mayor a cero, quiere decir
'que alguna letra "mala" se ingresó en la celda
If InStr(1, Target.Value, Mid(Cadena, x, 1)) > 0 Then
'almaceno esa letra para mostrarla en el mensaje
LetraNo = Mid(Cadena, x, 1)
MsgBox "la letra '" & LetraNo & "' es inválida", vbCritical
'y selecciono la celda
Target.Select
End If
Next x
'si quisieras borrar el contenido de la celda en donde se ingresó
'una letra incorrecta, luego de target.select deberías colocar
'Target.ClearContents
End Sub

espero que te sirva, copia y pega las líneas de arriba dentro de la ventana de código de la hoja en cuestión y fijate que funciona bien.
cualquier cosa me avisas.
Un abrazo y muchas gracias por tu mensaje.

Damian Omar Silva dijo...

otra seria utilizar las "expresiones regulares" de visual basic, aunque es un tanto mas complejo de manejar. voy a levantar un post con tu consulta, abarcando dos o tres soluciones posibles.

Ulises Esaú dijo...

Necesito realizar una carga de datos desde excel a sqlserver, pero para que algunos valores sean importados correctamente necesito agregarles el apostrofe al inicio al valor de aproximadamente 1500 registros, ¿Cómo puedo hacerlo de manera automática para toda una columna?

Damian Omar Silva dijo...

Ulises: supongamos que tenes los datos en A1:A1500. en B1 colocas ="'" & A1, copiando luego la función hasta B1500.
Listo, en la columna B tendrás los valores de A, pero con el apóstrofe concatenado. Luego copias la columna B y vas a "edición/pegado especial/valores"; finalmente eliminas la columna A. Entonces allí solo te quedarían los datos con el apóstrofe delante.

si queres automatizar el proceso, te paso esta macro sencilla:
Sub Apostrofe()
Dim Uf, X As Long
'veo cual es la ultima fila ocupada de la columna
Uf = Cells(Cells.Rows.Count, "A").End(xlUp).Row
'y la recorro, agregando el caracter
For X = 1 To Uf
Cells(X, "A") = "''" & Cells(X, "A")
Next X
End Sub
copiala y pegala dentro de un módulo en VBA.
en esa macro supongo que tus datos están en la columna "A" y empiezan en la primer fila. Si no fuese así, podés cambiar esas cosas ("B", "C" o la columna que sea, o también la fila desde donde comienza el bucle).
suerte y cualquier cosa me avisas.

Anónimo dijo...

BUENOS DIAS DAMIAN, NECESITO PONER EN UNA HOJA DE EXCEL TILDE COMO SI FUERA UN VISTO EN UN CUADRO. LA VERDAD QUE LO UNICO QUE ENCUENTRO ES INSERTAR LOS FORMAS. PERO NO SE COMO INSERTAR UN TILDE! ME PODRIAS AYUDAR???
DESDE YA GRACIAS.
SALUDOS

Damian Omar Silva dijo...

un tilde? será un "checkbox" lo que estás necesitando?
Desde la barra de herramientas "formularios" podes tomar botones de opción, botones de chequeo (checkboxes, listas desplegables, etc, etc).
Hacé click con el botón derecho del mouse sobre algún lugar la lado de los menús: de la lista desplegable selecciona "formularios":
la quinta opción me parece que es el objeto que estás buscando.

otra. colocas la letra "a" en en rango A1, por ejemplo. te vas a formato de celdas y seleccionas la fuente "Webdings", lo que convertirá esa "a" en un tilde.
avisame como te fue

Publicar un comentario en la entrada

Regresar a la Pagina de Inicio

ENTRADAS MAS RECIENTES (ULTIMAS 10)


las + vistas

10 ULTIMOS COMENTARIOS DE MIS LECTORES

Free counters!
blog de periodismo




GRAFICA RIO BRAVO
Serigrafia-Offset
Rosario - Santa Fe - Argentina
TE: 0341 4664028