Sie sind auf Seite 1von 4

CDIGOS:

Sub ConvierteMayusculas()

Dim celda As Range

For Each celda In Selection

celda.Value = UCase(celda.Value)

Next

End Sub

Sub ConvierteMinusculas()

Dim celda As Range

For Each celda In Selection

celda.Value = LCase(celda.Value)

Next

End Sub

Sub ConviertePropias()

Dim celda As Range

For Each celda In Selection

celda.Value = Application.WorksheetFunction.Proper(celda.Value)

Next

End Sub
Sub EliminarEspaciosPrincipio()

Dim celda As Range

For Each celda In Selection

celda.Value = LTrim(celda.Value)

Next

End Sub

Sub EliminarEspaciosFinal()

Dim celda As Range

For Each celda In Selection

celda.Value = RTrim(celda.Value)

Next

End Sub

Sub EliminarEspaciosIntermedios()

Dim celda As Range

For Each celda In Selection

celda.Value = WorksheetFunction.Trim(celda.Value)

Next

End Sub
'Funcin para pasar nmeros a letras
Function NumLetras(Valor As Currency, Optional MonedaSingular As String = "", Optional
MonedaPlural As String = "") As String
Dim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte, lnPrimerDigito As Byte,
lnSegundoDigito As Byte, lnTercerDigito As Byte, lcBloque As String, lnNumeroBloques As Byte,
lnBloqueCero
Dim laUnidades As Variant, laDecenas As Variant, laCentenas As Variant, I As Variant 'Si esta como
Option Explicit
Dim ValorEntero As Long
Valor = Round(Valor, 2)
lyCantidad = Int(Valor)
ValorEntero = lyCantidad
lyCentavos = (Valor - lyCantidad) * 100
laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE",
"DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO",
"DIECINUEVE", "VEINTE", "VEINTIUN", "VEINTIDOS", "VEINTITRES", "VEINTICUATRO",
"VEINTICINCO", "VEINTISEIS", "VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE")
laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA",
"SETENTA", "OCHENTA", "NOVENTA")
laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS",
"SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
lnNumeroBloques = 1
Do
lnPrimerDigito = 0
lnSegundoDigito = 0
lnTercerDigito = 0
lcBloque = ""
lnBloqueCero = 0
For I = 1 To 3
lnDigito = lyCantidad Mod 10
If lnDigito <> 0 Then
Select Case I
Case 1
lcBloque = " " & laUnidades(lnDigito - 1)
lnPrimerDigito = lnDigito
Case 2
If lnDigito <= 2 Then
lcBloque = " " & laUnidades((lnDigito * 10) + lnPrimerDigito - 1)
Else
lcBloque = " " & laDecenas(lnDigito - 1) & IIf(lnPrimerDigito <> 0, " Y", Null) & lcBloque
End If
lnSegundoDigito = lnDigito
Case 3
lcBloque = " " & IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito = 0, "CIEN",
laCentenas(lnDigito - 1)) & lcBloque
lnTercerDigito = lnDigito
End Select
Else
lnBloqueCero = lnBloqueCero + 1
End If
lyCantidad = Int(lyCantidad / 10)
If lyCantidad = 0 Then
Exit For
End If
Next I
Select Case lnNumeroBloques
Case 1
NumLetras = lcBloque
Case 2
NumLetras = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & NumLetras
Case 3
NumLetras = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, "
MILLON", " MILLONES") & NumLetras
End Select
lnNumeroBloques = lnNumeroBloques + 1
Loop Until lyCantidad = 0
NumLetras = NumLetras & " " & Format(Str(lyCentavos), "00") & "/100 " & IIf(ValorEntero = 1,
MonedaSingular, MonedaPlural)
End Function

Das könnte Ihnen auch gefallen