viernes, 22 de junio de 2007

Crear una regla en Excel

A los programadores de Office de la Microsoft, nunca les patinó por el cerebro crear una regla en Excel que ayudara a los usuarios a simplicarse las tareas de impresión en facturas, notas de crédito, recibos, etc. quizá porque siempre se concentraron en otras características que consideraron más importantes que en una simple regla inútil, pero que tan inútil hubiera sido tener una regla en las versiones anteriores a Microsoft Office System 2007?

Ya se que podrían decir que hay programas que permiten medir longitudes en el monitor "supuestamente" en centimetros, como por ejemplo un programa llamado Screen Caliper, el JS Ruler, o el Screen Ruler, pero a la hora de empezar a tomar medidas para imprimir una hoja de cálculo de Excel adaptado a las dimensiones de una factura o documento en blanco para llenar, las medidas han fallado, no asi para medidas de archivos de imágenes que es específicamente para lo que se han hecho.

Personalmente, siempre busqué en la web "Googleando" (usando el buscador de Google) por todos lados, sin obtener frutos para resolver mi inquietud, hasta que un buen día hallé un buen código de programación que hacia lo que andaba buscando. Mi búsqueda había sido exitosa.

Abrí Excel y me dispuse a crear un módulo de Visual Basic vacío, como se hace eso? sencillo abres un libro nuevo y ve a al menú "Herramientas > Macros > Editor de Visual Basic". Entrarás al editor de Visual Basic correspondiente al libro que recien has abierto, de ahi ve al menú "Insertar" y seleccionas "Módulo" y en el area de edición tienes que pegar todo el código que aparece abajo de estas dos imágenes:



En la siguiente imágen está la ventana de Visual Basic en la cual debes seleccionar el libro (panel de la izquierda) en el cual estás trabajando y luego ir al menú insertar, seleccionando Módulo.


Pegar el siguiente código en la ventana que se abrirá:

Si ves que el texto de este código aparece como cortado solo usa la barra de desplazamiento al final para ver el resto.

Sub MakeRuler_inch()

'Definir el tamaño de la nueva regla.

Const Ruler_Width As Double = 6 'Width 6 inch
Const Ruler_Height As Double = 5 'Height 5 inch

'El tamaño de configuración en la pantalla y el tamaño actual en el impresor.

Const Screen_Width As Double = 6
Const Screen_Height As Double = 5
Const Printer_Width As Double = 6
Const Printer_Height As Double = 5

Dim i As Long
Dim l As Double
Dim x As Long
Dim y As Long
Dim ws As Worksheet
Dim a(0 To 15) As Double
Dim x2 As Double
Dim y2 As Double

x = Ruler_Width * 16
y = Ruler_Height * 16

a(0) = 3.6: a(1) = 1: a(2) = 2: a(3) = 1: a(4) = 2: a(5) = 1: a(6) = 2: a(7) = 1
a(8) = 3: a(9) = 1: a(10) = 2: a(11) = 1: a(12) = 2: a(13) = 1: a(14) = 2: a(15) = 1

Application.ScreenUpdating = False

Set ws = ActiveSheet
Worksheets.Add
ActiveSheet.Move
ActiveSheet.Lines.Add 0, 0, 3 * x, 0
For i = 1 To x
l = a(i Mod 16)
ActiveSheet.Lines.Add 3 * i, 0, 3 * i, 3 * l
Next

ActiveSheet.Lines.Add 0, 0, 0, 3 * y
For i = 1 To y
l = a(i Mod 16)
ActiveSheet.Lines.Add 0, 3 * i, 3 * l, 3 * i
Next

ActiveSheet.Lines.Border.ColorIndex = 55
For i = 16 To x - 1 Step 16
With ActiveSheet.TextBoxes.Add(3 * i - 9, 3 * 3.6, 18, 12)
.Text = Format(i \ 16, "!@@")
End With

Next
For i = 16 To y - 1 Step 16

With ActiveSheet.TextBoxes.Add(3 * 3.6, 3 * i - 9, 12, 18)
.Orientation = xlDownward
.Text = Format(i \ 16, "!@@")
End With
Next
With ActiveSheet.TextBoxes
.Font.Size = 9
.Font.ColorIndex = 55
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Border.ColorIndex = xlNone
.Interior.ColorIndex = xlNone
End With

With ActiveSheet.DrawingObjects.Group

.Placement = xlFreeFloating
.Width = Application.InchesToPoints(x / 16)
.Height = Application.InchesToPoints(y / 16)
.CopyPicture xlScreen, xlPicture
ActiveSheet.Paste
x2 = (Selection.Width - .Width) / 3
y2 = (Selection.Height - .Height) / 3
Selection.Delete
.CopyPicture xlPrinter, xlPicture
ActiveSheet.Paste
.Width = .Width * .Width / (Selection.Width - x2 * 2) * Screen_Width / Printer_Width
.Height = .Height * .Height / (Selection.Height - y2 * 2) * Screen_Height / Printer_Height

Selection.Delete

If Val(Application.Version) >= 9 Then
.Copy
ActiveSheet.PasteSpecial 'Format:="Picture (PNG)"
With Selection.ShapeRange.PictureFormat

.CropLeft = x2
.CropTop = y2
.CropRight = x2
.CropBottom = y2

End With

Selection.Copy
ws.Activate
ws.PasteSpecial 'Format:="Picture (PNG)"
Selection.Placement = xlFreeFloating
.Parent.Parent.Close False
End If

End With

Application.ScreenUpdating = True
End Sub

'Regla para  Excel(Centimetros)

Sub MakeRuler_cm()

'Definir el tamaño de una nueva regla.

Const Ruler_Width As Double = 21 'Width 16 cm
Const Ruler_Height As Double = 28 'Height 14 cm

'The setting size on the screen and the actual size on the printer.

Const Screen_Width As Double = 21
Const Screen_Height As Double = 28
Const Printer_Width As Double = 21
Const Printer_Height As Double = 28

Dim i As Long
Dim l As Long
Dim x As Long
Dim y As Long
Dim ws As Worksheet
Dim x2 As Double
Dim y2 As Double

x = Ruler_Width * 10
y = Ruler_Height * 10

Application.ScreenUpdating = False

Set ws = ActiveSheet
Worksheets.Add
ActiveSheet.Move
ActiveSheet.Lines.Add 0, 0, 3 * x, 0
For i = 1 To x
If i Mod 10 = 0 Then l = 5 Else: If i Mod 5 = 0 Then l = 4 Else l = 3
ActiveSheet.Lines.Add 3 * i, 0, 3 * i, 3 * l
Next

ActiveSheet.Lines.Add 0, 0, 0, 3 * y
For i = 1 To y
If i Mod 10 = 0 Then l = 5 Else: If i Mod 5 = 0 Then l = 4 Else l = 3
ActiveSheet.Lines.Add 0, 3 * i, 3 * l, 3 * i
Next

ActiveSheet.Lines.Border.ColorIndex = 55
For i = 10 To x - 1 Step 10
With ActiveSheet.TextBoxes.Add(3 * i - 9, 3 * 5, 18, 12)
.Text = Format(i \ 10, "!@@")
End With

Next

For i = 10 To y - 1 Step 10

With ActiveSheet.TextBoxes.Add(3 * 5, 3 * i - 9, 12, 18)
.Orientation = xlDownward
.Text = Format(i \ 10, "!@@")
End With

Next

With ActiveSheet.TextBoxes
.Font.Size = 9
.Font.ColorIndex = 55
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Border.ColorIndex = xlNone
.Interior.ColorIndex = xlNone
End With

With ActiveSheet.DrawingObjects.Group
.Placement = xlFreeFloating
.Width = Application.CentimetersToPoints(x / 10)
.Height = Application.CentimetersToPoints(y / 10)
.CopyPicture xlScreen, xlPicture
ActiveSheet.Paste
x2 = (Selection.Width - .Width) / 3
y2 = (Selection.Height - .Height) / 3
Selection.Delete

.CopyPicture xlPrinter, xlPicture

ActiveSheet.Paste
.Width = .Width * .Width / (Selection.Width - x2 * 2) * Screen_Width / Printer_Width
.Height = .Height * .Height / (Selection.Height - y2 * 2) * Screen_Height / Printer_Height

Selection.Delete

If Val(Application.Version) >= 9 Then
.Copy
ActiveSheet.PasteSpecial 'Format:="Picture (PNG)"

With Selection.ShapeRange.PictureFormat
.CropLeft = x2
.CropTop = y2
.CropRight = x2
.CropBottom = y2
End With

Selection.Copy

ws.Activate
ws.PasteSpecial 'Format:="Picture (PNG)"
Selection.Placement = xlFreeFloating
.Parent.Parent.Close False
End If

End With

Application.ScreenUpdating = True

End Sub

Luego que hayamos guardado, cierra el editor de Visual Basic (si no has guardado el libro hasta este momento, se abrirá la ventana de Guardar) y ve al libro en el que estamos trabajando y nuevamente ve a "Herramientas > Macro > Macros... el cual te mostrará la siguiente ventana:



Como podrás ver, ahi tendremos dos valores a escojer: MakeRuler_cm y MakeRuler_inch el cual nos indica que podemos crear la regla en Centímetros o en Pulgadas (inch viene de la palabra inglesa inches que significa pulgadas). Al final, para mostrar el resultado veremos algo parecido a esto:




Ahora quiero aclarar lo siguiente antes de que empiecen a hablar o hacer preguntas al respecto: lo que Excel genera al momento de ejecutar el Método que crea la regla, es una imagen PNG transparente pero con las medidas exactas con relación a una regla real. La imagen permanece encima de todas las celdas lo cual se vuelve en cierta manera util o fastidioso, pero que a la vez nos ayuda a que podamos arrastrar los bordes de las columnas y filas de manera que podamos ubicarlas a X distancia según la medida que tengamos de por ejemplo, una factura.

La verdad es que a una regla de este tipo se le puede dar todo tipo de usos según el grado de imaginación y creatividad que cada uno tenga al momento de trabajar en Excel. Yo, por ejemplo, la he usado varias veces para imprimir grandes cantidades de datos en facturas de todo tipo en la oficina de mi trabajo, y me he ahorrado mucho tiempo y trabajo, y de paso que ha sido de mucha utilidad para otros de mis compañeros. He publicado esto con el afán de que todos puedan hacer lo mismo, creando una regla que nunca puso Microsoft en Excel, sino hasta Excel 2007 la cual ya trae una incorporada. Si no quieres usar Office Excel 2007 sino que versiones previas, entonces esta es tu regla ideal.

Si ha sido de utilidad este articulo, te agradeceré un gentil comentario de tu parte.

57 comentarios

  1. hola: sabes revise el articulo "Crear una regla en Excel" (me intereso) lo hice, y hay un codigo que esta fallando. No se que será, y me gustaría que lo vieras e intalaras en tu pc nuevamente para ver que será! Eso es todo chao.


    te deje este mensaje en tu blog tb.

    ResponderEliminar
  2. En efecto MISTERIO, tienes mucha razón y se me olvido verificar el código y probarlo en mi Excel, pero el problema ya está resuelto, al parecer el editor de texto de este blog omite algunos caracteres especificos y los omite al mostrarlo a los visitantes pero ya esta listo.

    Te agradezco tu comentario en nombre de mis visitantes, que ahora podrán trabajar correctamente con este código.

    ResponderEliminar
  3. Hola. Muchas gracias por el código. Pero no se yo si los demás tendrán el mismo problema pero he comprobado con una regla normal y vamos hay una diferencia de 0,5mm y va de forma progresiva. Es decir cuando marca 1cm en la regla de verdad 1cm. Cuando marca 2cm en la regla 2cm, cuando 3, 3,1 etc así cuado llega a 8 en la regla fisica marca 8,2... y cuando llega a 16 la fisica marca 16,1

    un saludo.

    ResponderEliminar
  4. Lo que pasa es que todos los Windows varían de acuerdo a los tipos de procesadores. Por ejemplo, si en tu libro de Excel un calculo de da $1.56, puede que al abrir ese mismo libro en otra computadora aumente o disminuya en $0.01. En fin, tu tienes razón, solo debes tener en cuenta esa variación y lo demás te funcionará bien.

    Gracias por tu comentario.

    ResponderEliminar
  5. hola!!
    necesito por favor transformar valores a palabras ej: $10.000 ya sea que esta quede como diez mil pesos.
    se los agradeceria mucho
    espero que me puedan ayudar

    ResponderEliminar
  6. Alejandra: esto que preguntas ya existe en este blog, has click AQUI.

    ResponderEliminar
  7. oye mario primero que nada felicidades buen codigo, mi duda es como activo la regla en excel 2007 en que menu se encuentra de antemano gracias

    ResponderEliminar
  8. adancab, el Excel 2007 suceden algunas cosas de las que debes prestar atención, hay un menú que me parece que se llama "Programación" la cual creo que no aparece por default sino hasta que lo activas en las opciones de Excel, haciendo click en el botón Redonde que abre el menú desplegable y luego seleccionando hasta abajo las opciones avanzadas. (Te digo esto porque yo ya lo hice hace tiempo y actualmente no estoy usando la versión 2007). Busca entre todas las opciones algo que te indique mostrar las opciones de programación.

    Además te aclaro que muchas veces la interfaz de programación de Visual Basic, no se instala al momento de instalar Office por lo que tendrás que insertar el CD si no te aparece el editor de programación. También el nivel de seguridad de macros es algo de lo que debes estar pendiente, aunque "supuestamente" es difícil que se ejecute una macro maliciosa en Excel 2007.

    Prueba rebuscando hasta que te aparezca la interfaz de programación y espero que resuelvas tu problema.

    ResponderEliminar
  9. P.D. Si tienes éxito y lográs insertar el código en el editor de Visual Basic, para ejecutar la regla sólo tienes que hacer clic en un botón con una flecha verde al lado inferior izquierdo de Excel y ejecutas la macro, o sea, la regla.

    ResponderEliminar
  10. Hola Mario muy util este tutorial pero como se hace la regla en excel 2007? acabo de cambiar y no se como hacerlo en 2007 si fueras tan amable de proporcionarme esa informacion, salu2

    ResponderEliminar
  11. Hola Mario-Soft felicitaciones muy interesante tu aporte espero compratir con todos ustedes unas curiosidades muy interesante en algunos programas gracias...

    Atentamente ROLSOFT

    ResponderEliminar
  12. Estimado mario, veo que eres de los que mas postean en este blog, y no se si sea tuyo o no pero me gustaria colaboraras con el mio lo estoy poniendo a funcionar apenas, la idea es hacer tutoriales en video para las "gente normal" sin embargo hice uso de tu post delos windows XP puedes visitarlo si quieres y si gustas participar por favor dime para mi seria un placer, del mismo modo te pido disculpas si te ofende que use tu post y de ser asi avisame para que haga las modificaciones pertinentes.

    atte. Carlos Vasconcelos

    ResponderEliminar
  13. necesito la formula para poder anotar en numero una cantidad y me la escriba con letra en otrs de las celdas

    ResponderEliminar
  14. Porque no lees un poco mas y buscas en el blog, has un pequeño esfuerzo y encontrarás la respuesta a lo que pides.

    ResponderEliminar
  15. Hola Mario:

    quiero decirte que al buscal en google, de suerte vi tu blog, leí, e hice los pasos, pero resulta que al parecer no tengo instalado Visula Basic en mi computadora porque me marca el siguiente error se han deshabilitado las macro porque el nivel de seguridad configurado es Alto, no se ha asociado a la misma un certificado confiable firmado digitalmente.

    te agradeceria me ayudaras, ya que en la empresa no solicitan actualizar sistemas y de mas gastos.

    saludos

    ResponderEliminar
  16. Hola Paty, no se que versión de Office tengas, pero en caso de que no esté instalado Visual Basic, creo que fácilmente lo puedes instalar mediante el CD de instalación de tu versión de Office.

    En el caso del nivel de seguridad, pues si está en alto, bien podrías cambiarlo a un nivel distinto o más bajo e intentar echar a andar el código que no contiene nada de malo que pueda desestabilizar tu sistema.

    ResponderEliminar
  17. El programa no se ejecuta porque poseo excel 97, y me da el siguiente error:
    no se ha definido Sub o Function, que puedo hacer para que funcione, de antemano muchas gracias por compartir sus conocimientos.

    ResponderEliminar
  18. Gracias por tu codigo y mas por el de pesos, ya lo modifique y me perfecto para mis tareas. muchas Gracias.

    ResponderEliminar
  19. Es un gusto saber que te ha servido Yvar.

    ResponderEliminar
  20. Definitivamente sos un genio!
    Mil gracias me salvaste!
    Que buenisimo que hay gente tan pilas como vos.
    Segui asi y a ver en que otra cosa me ayudas!

    ResponderEliminar
  21. Ok Rocio, veré que más me invento para compartir y tener de visitante frecuente.

    ResponderEliminar
  22. Realmente eres un genio Felicidades amigo.

    ResponderEliminar
  23. HOla,
    Necesito ayuda, que función debo utilizar para escribir en excel 1230 en una celda y que en otra celda me aparezca mil doscientos treinta.
    Es muy urgente y me harías un gran favor.

    Agradecería una respuesta a mi e-mail
    evamaribera@hotmail.com

    Gracias

    ResponderEliminar
  24. Claramente dijo el admin de este sitio que no :neutral: se dan respuestas por correo :lol: por lo que te sugeriría que buscaras aqui mismo porque esa respuesta ya la dio este blog

    ResponderEliminar
  25. :twisted: :arrow: :smile: :shock: :cool: :cool: :cool: :cool: :evil: :evil: :evil:

    muy buena pagina gracias

    :lol: :lol: :lol: :lol: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :!: :!: :!: :!: :!: :!: :!: :!:

    ResponderEliminar
  26. hola de excell solo se lo básico alguien me puede apoyar? lo hize pero no obtuve resultados gracias.. atte. marcia invierno279@hotmail.com

    ResponderEliminar
  27. No se si seré muy torpe, pero todavía no lo he conseguido. Alguién puede enviar una hoja excel por e-mail con la formulita ya desrollada.evamaribera@hotmail.com

    Muchas gracias

    ResponderEliminar
  28. Loco..con este no tuve drama pero con el de los números a letras no puedo...
    Tengo el Excel 2003 y no lo puedo guardar para después correrlo...ni idea por qué...

    Si tenés el as bajo la manga...vendría bárbaro!

    saludos y...sos una máquina de programar loco!

    ResponderEliminar
  29. Ya lo solucioné...tengo el código acomodado y todo...lo paso en el otro lado así lo copian si quieren...

    Saludos!

    ResponderEliminar
  30. Muchas gracias, muy oportuno el encontrar tu aporte en la Web.
    Feliz Dia

    ResponderEliminar
  31. Gracias me sirivio de mucho tambien el que mencionas para cambiar nro por letras

    ResponderEliminar
  32. Te felicito, sos un tipo inteligente porque sabes compartir los conocimientos adquiridos.

    Que Dios te bendiga.

    Besos desde Formosa (Argentina)

    ResponderEliminar
  33. te felicito chico por este aporte,no puedo realizar la convercion de numeros a letras sera que alguien seria tam amable de enviarmelo a mi correo por fa lauraxiomara18@gmail.com

    ResponderEliminar
  34. hola me intereso este aporte pero no puedo hacerlo andar tengo excel 2003 y me dice error de compilacion. me puedn ayudar?gracias
    dice tambien se esperaba : numero de linea o declaracion o fin de la instruccion.

    ResponderEliminar
  35. SOY WENDY
    OLA OLA MUY BIEN ECHO OYE UNA PREGUNTA FIJATE QUE TENGO EL 2007 Y NO ENCUENTRO COMO CONVERTIR MIS NUMEROS EN LETRA CON DECIMALES Y TODA LA COSA EN EXCEL POR EJEMPLO 2,500.06
    (DOS MIL QUINIENTOS PESOS 06/100 M.N.)
    GRAX POR FA CONTESTA

    ResponderEliminar
  36. Hola, si que funciona!!!!!!!!!!!!!!!!!!!!!! mil gracias :D besos xoxo :mrgreen: :mrgreen:

    ResponderEliminar
  37. Buen dia tengo un problema en excel tengo varias pestañas cada pestaña es cada mes enero, febrero,etc ok en cada uno ingreso datos con numero de factura, proveedor, etc el error q tengo es q al ingresar una factura ejemplo 215 con el proveedor juan se ingreso el 10 de julio de 2009 ok pero la vuelvo a ingresar dias despues el 22 de julio de 2009 eso me lo duplica me ocasiona error en contabilidad porq es la misma informacion y pues eso ocasiona conflicto en varias areas mi pregunta y me gustaria q me apoyaran se puede hacer algo q me mande un mensaje al momento de ingresar una factura y si es identica a otra q agrege q me mande un mensaje q ya existe esa factura para evitar problemas sin mas por el momento espero me puedan apoyar gracias esto es en excel version 2003 gracias.

    ResponderEliminar
  38. no me funciono en oficce 2007 lo yebe hasta visual basic ahi lo tengo guardado pero no me funciona la conversion no se si me falto algun otro paso

    ResponderEliminar
  39. no me funciono en oficce 2007 lo yebe hasta visual basic ahi lo tengo guardado pero no me funciona la conversion

    ResponderEliminar
  40. hola yo soy de peru y quisiera que porfa me alludaran yo tengo que muchas vese facturar y las sifras totales tienen que ser en letras y enverdad me gustaria ahorrame el trabajo de escrivirlo buno aqui en peru no le disen pesos sino ( nuevos soles ) espero uqe me ayuden

    ResponderEliminar
  41. :neutral:

    LA VDD YA HICE TODO LO Q DICE AQUI Y NO LOGRO NADA YA APARECE LA REGLA, PERO LO Q A MI ME INTRESA ES Q APARESCA LA CANTIDAD CON LETRA COMO LE PUEDO HACER

    AYUDEME POR FAVOR..........

    ResponderEliminar
  42. De lujo!!!
    Muchas gracias!!

    ResponderEliminar
  43. Hola,

    Porfa me urge que me manden a mi correo la formula para combertir la cantidad en quetzales de numeros a letras pues tengo que hacer facturas y ese proceso me ahorraria tiempo.....

    un millon de gracias

    ResponderEliminar
  44. PARA DESESPERAD Y MARY : TIENES QUE TECLEAR ESTA DIRECCION EN TU BARRA DE DIRECCIONES http://www.elcuaderno.co.cc/?p=41 Y CARGAR EL MACRO .PONIENDO EL PUNTERO DEL RATON EN LA PARTE SUPERIOR DERECHA DEL MACRO APARECE LA OPCION COPIAR Y ESTE SE COPIA AL PORTAPAPELES Y DE AHI LO COPIAS AL MODULO TAL Y COMO SE DESCRIBE EN ESTA PAGINA. EN ESTA PAGINA SOLO APARECE EL MACRO QUE HACE APARECER LA REGLA. DE TAL MANERA QUE TIENES QUE IR A LA DIRECCION QUE DE HARRIBA PARA COPIAR EL QUE PONE LA CANTIDAD CON LETRA. Y SI NECESITAS QUE EN LUGAR DE APARECER DIGAMOS CINCUENTA DOLARES, APAREZCAN CINCUENTA PESOS Ò CINCUENTA QUETZALES SOLO TIENES QUE BUSCAR DETENIDAMENTE DENTRO DEL MACRO CUANDO LO TIENES ABIERTO EN EL MODULO ( ESTA CASI AL PRINCIPIO ) UN LUGAR DONDE APARECE "/100 DOLARES" BORRAS LO DE DOLARES Y LE PONES PESOS Ò QUETZALES OJO DEBES BORRAR EN DOS LUGARES. BYE

    ResponderEliminar
  45. hola marrio muy buena idea realmente es muy util, pero sabes yo tengo el excel 2003 y bueno sigo los pasos pero al cerrar me aparece una ventana que dice " error de compilacion, se espera fin de instruccion" y bueno en el libro cuando busco la macro en la lista de macros no me aparecen las opciones que nos diste, no se que sera ojala me puedas ayudar ya que es una herramienta que en serio necesito

    ResponderEliminar
  46. Hola Mario:

    Perdona tengo unas preguntas sumamente entupidas pero prefiero preguntar y salir de las dudas.

    1 Guardas la macro en la ventana de Visual Basic porque lo hice asi, pero tengo dudas
    2 Si estoy bien en lo anterior cuando doy la instruccion en la celda B1 =pesos(A1) me manda al editor de Visual Basic y me dice que "se esperaba: numero de linea o etiqueta o declaracion o fin de la instruccion, todo esto dentro de una ventana donde tengo dos botones de aceptar o ayuda
    3 Le doy ayudar y me manda ayuda para programar (cosa que pues ya no se)
    4 Creo que ya se mas o menos por donde esta el error, tengo otra computadora y realice todo el procedimiento, de cierto forma pero esta vez el codigo dentro de Visual Basic quedo en la hoja 1(la vez pasada quedo dentro del modulo 1), hago la prueba de =pesos (A1) ya no me manda el mensaje, ni me manda al editor solo me manda en la celda #NOMBRE? y la explicacion es que no reconoce la formula, quiero entender que hay algo mal denttro de la macro (cosa que ya no se)
    4 Como yo se que con la instrucción =pesos(A1) esta llamando a la macro alguien me puede explicar.
    Bueno fueron muchas preguntas, pero no se nada de Visual Basic, asi como macros.
    Algunas sugerencias se los agradecere.

    ResponderEliminar
  47. YA TRATE DE HACER TODOS LOS PASOS Y NO ME DEJA GUARDAR EL ARCHIVO, SU APOYO POR FAVOR

    ResponderEliminar
  48. ola oie una pregunta lo q pasa s q n mi excel no viene ese d menu herramientas!!! ntonces noc de donde saco eso de macro y asi me puedes ayudar????xfa gracias!!!

    ResponderEliminar
  49. Hola
    Seguro algo no hice bien ya que no me aparecen las reglas al ver MAcro Macros
    Gradeceria un poco mas de ayuda respecto a lo que voy a pegar en el bisual basic

    Gracias nuevamente, saludos.
    AV

    ResponderEliminar
  50. Mario. Que tal, me gusta mucho tu blog, es de suma importancia para aquellos que tienen negocio y que realizan cheques para sus pagos. Gracias por compartir este conocimiento y que además es GRATIS. Dios te bendiga a ti y a los tuyos, con gente como tu seriamos un mundo mejor (con mejores herramientas de trabajo).

    ResponderEliminar
  51. hola que tal¡¡¡
    me gustaria que me explicaran mas a fondo el procedimiento, por que ya segui los pasos y veo nada.
    a la hora de ejecutar la macro no me aparece.
    Se los agradeceria mucho. Gracias.

    ResponderEliminar
  52. Amigo pucha necesito mas que nada tu regla es una creacion rebuena, pero tengo oficce 2007 y no tengo idea como se crea una macro en este escel, me podrias ayudar, necesito la regla para imprimir sobre unos losmos de archivador..

    de antemano muchas gracias..

    ResponderEliminar
  53. ALEX:
    la respuesta a tu problema es obvia, Mario lo dijo al principio, Excel 2007 ya incorpora su regla, no necesitas agregar la macro, para activar esta regla; para verla en Excel 2007 haz lo siguiente
    1.- Haz clic en la pestaña de herramientas VISTA
    2.- busca el grupo de herramientas VISTAS DEL LIBRO
    3.- da clic en el botón que diga DISEÑO DE PAGINA
    y listo, ya te aparecen las reglas y el formato de pagina, asi puedes ajustar las celdas de tal forma que te queden como quieras en tu hoja, es muy parecida al ajuste de margenes de Word, por lo que no creo que tengas ningun problema.

    ResponderEliminar
  54. la regla no me funciona con 2003, pero ya tengo solucionado el codigo para convertir letras a numero en un archivo de ejemplo, si alguien me mandara el archivo excell con la macro de la regla funcionando se lo agradeceria ademas que le puedo enviar el macro de numeros a letras estare agradecido chao contactenme a mi mail

    ResponderEliminar
  55. arjagaria@hotmail.com este es el correcto

    ResponderEliminar
  56. mi mail arjgaria@hotmail.com

    ResponderEliminar
  57. excelente man, gracias..........sigo pdte. de encontrar la conversion de numeros a palabras

    ResponderEliminar