Utilitarios en excel numeros a letras y otros

Solo disponible en BuenasTareas
  • Páginas : 21 (5133 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de octubre de 2010
Leer documento completo
Vista previa del texto
Convertir numeros a letras en Excel
[pic][pic][pic][pic]Publicado:  Agosto 01, 2007 por Mario - 207.663 lecturas
Hace mucho tiempo atrás, busque entre todas las funciones de Excel, una que me permitiera convertir los números de una celda a letras, automáticamente. Así por ejemplo, podría escribir 52.69 en la celda A1 y la formula me podría en cualquier celda que yo quisiera: CINCUENTA Y DOS69/100.
Había una utilidad que complementaba a Excel en ese sentido, pero que presentaba ciertos problemas de incompatibilidad y era dificil de conseguir para lo cual decidí buscar en la red algo que solventara dicha situación, encontrando afortunadamente una función llamada “Pesos” hecha por alguien más, la cual me permitía pasar de números a letras cualquier cantidad.
Esta función es muy útil yaque nos permite usarla en muchas situaciones cotidianas, y además no requiere mayor conocimiento de su uso, si usted anteriormente ya ha usado otras funciones incorporadas en Excel.

Todo lo que tienes que hacer es pegar el siguiente código en un Módulo nuevo ya sea en el libro de macros Personal, o en el libro en el cual estés trabajando. Si no sabes como hacerlo, puedes leer este artículo queescribí anteriormente el cual explica como crearlo.
1. '------------ INICIO DE LA FUNCION PESOS-----------------------------------  
2.   
3. 'Function Pesos(Number As Single) As String  
4. 'Comentado el 27/10/2008: La siguiente línea corrige el error de los decimales  
5. 'en cantidades grandes, gracias a Any por la corrección.  
6.   
7.Function Pesos(Number As Double) As String  
8.   
9. Const MinNum = 1#  
10. Const MaxNum = 4294967295.99  
11.   
12. Dim Numbers, Tenths, Result As String  
13. Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")  
14.Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")  
15.   
16. If (Number >= MinNum) And (Number  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 estás dos imágenes:[pic]
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.
[pic]
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.
view plaincopyto clipboardprint?
1. Sub MakeRuler_inch()  
2.   
3.     'Define the size of a new ruler.  
4.     Const Ruler_Width  As Double = 6  'Width  6 inch  
5.     Const Ruler_Height As Double = 5  'Height 5 inch  
6.   
7.     'The setting size on the screen and the actual size on the printer.  
8.     Const Screen_Width   As Double = 6  
9.    Const Screen_Height  As Double = 5  
10.     Const Printer_Width  As Double = 6  
11.     Const Printer_Height As Double = 5  
12.   
13.     Dim i As Long  
14.     Dim l As Double  
15.     Dim x As Long  
16.     Dim y As Long  
17.     Dim ws As Worksheet  
18.     Dim a(0 To 15) As Double  
19.     Dim x2 As Double  
20.     Dim y2 As Double  
21.   
22.     x = Ruler_Width * 16  23.     y = Ruler_Height * 16  
24.     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  
25.     a(8) = 3: a(9) = 1: a(10) = 2: a(11) = 1: a(12) = 2: a(13) = 1: a(14) = 2: a(15) = 1  
26.     Application.ScreenUpdating = False  
27.   
28.     Set ws = ActiveSheet  
29.     Worksheets.Add  
30.     ActiveSheet.Move  
31....
tracking img