Ir al contenido principal

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



Comentarios

  1. 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.

    ResponderEliminar
  2. 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.

    ResponderEliminar
  3. 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

    ResponderEliminar
  4. 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

    ResponderEliminar
  5. 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

    ResponderEliminar
  6. 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.

    ResponderEliminar
  7. 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.

    ResponderEliminar
  8. 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?

    ResponderEliminar
  9. 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.

    ResponderEliminar
  10. 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

    ResponderEliminar
  11. 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

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

funciones: convertir numeros a letras con excel

En realidad hace tiempo que vienen consultándome sobre esto... quizás cinco o seis años . Debe ser una de las funciones mas buscadas de Excel, por lejos: la posibilidad de escribir: 1.534,63 y que en una celda aparezca magicamente "un mil quinientos treinta y cuatro c/15/100". Aquí les dejo una solución, basada en funciones , sin utilizar macros, la cual preparé exclusivamente para este Blog. A pesar de los millones de usuarios que requieren esta herramienta, no viene incorporada en Excel, debemos armarla nosotros mismos .  Luego de la imagen irá la explicación de como llegué a lograr esto, dado que es un proceso medianamente complejo , que utiliza tres o cuatro funciones básicas y requiere de varios pasos. así quedará nuestra planilla y siempre devolverá en letras el valor que ingresemos en A1 [+/-] Ver el resto / Ocultar Desde ya aclaro: esta no es " la forma " de hacerlo, simplemente es una mas, evitando el uso de macros. Sobre esta base, comencemos: 1) El núme

macros: como enviar mails desde Excel (vba)

Un gran amigo "on-line", Johan Moreno, de Colombia , me hizo llegar la inquietud de cómo enviar mails desde Excel . Si bien contaba con algunas líneas de código sobre el particular, decidí retomar mi ejemplo y adaptarlo mejor a las circunstancias. Hace unos minutos termino de remitirle un correo con la solución a Johan... desde Excel y con un archivo adjunto, mismo que transcribo a continuación para ayudar a todos con esta tarea. Veamos primero las dos formas principales de enviar mails: mediante Outlook o nuestro Web Mail ( yahoo, gmail, hotmail, etc, etc ) No soy usuario de Outlook en lo absoluto: no confío en los agujeros de seguridad que continuamente aparecen y, por otro lado, t eniendo a mi alcance una herramienta tan poderosa (y gratuita) como Gmail, la cual ahora también permite sincronizar los mensaje con la Pc para verlos offline (deben activarlo en "google labs") ... no creo que me haga usuario ni hoy ni mañana. Igualmente mas adelante daré una solució

buscarv con varios resultados

Es de las preguntas mas recurrentes que he tenido: ¿se puede lograr que la función BUSCARV() devuelva varios resultados? Si recordamos el uso de esta función, sabremos que la misma buscar en valor en el rango especificado, retornando un solo resultado. Si en la tabla tenermos varios registros iguales BUSCARV() solo nos devolverá el primero de ellos, omitiendo el resto. Entonces ¿se puede? Bueno, aplicando otra técnica sencilla que se me ocurrió al intentar solucionar el planteamiento de un lector... si, puedo hacerlo.... pero sin usar BUSCARV(). la idea es que coloquemos en E1 el código del producto a buscar y a partir de E2 nos devuelva todas las coincidencias de la tabla. [+/-] Ver el resto / Ocultar Vamos a necesitar una columna "auxiliar" para llevar a buen término este proyecto. Con macros el tema sería mas sencillo, pero aquí la cuestión es resolverlo con las funciones de Excel, sin VBA. Paso a paso: Como primer medida chequeamos que valores de la columna A coincide co