Ver Mensaje Individual
  #2  
Antiguo 12-02-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
A ver si esto lo que quieres:
Código:
Sub MayuscMinusc()
'
' MayuscMinusc Macro
' Macro grabada el 12/02/2006 por Marcos

Dim NFil(128), NCol(128), CFil(128), Ccol(128), Nra, Nia, Nja, ra, ia, ja As Integer
Dim letras As String
AreaCount = Selection.Areas.Count
If AreaCount < 128 Then
    ia = 1
    For Each A In Selection.Areas
        NFil(ia) = A.Row
        NCol(ia) = A.Column
        CFil(ia) = A.Rows.Count
        Ccol(ia) = A.Columns.Count
        ia = ia + 1
    Next A
    Nra = ia - 1
    ra = 1
    ia = 1
    ja = 1
    Do While ra <= Nra
        Nia = CFil(ra)
        ia = NFil(ra)
        Nja = Ccol(ra)
        ja = NCol(ra)
        Do While ia < NFil(ra) + CFil(ra)
            Do While ja < NCol(ra) + Ccol(ra)
            
                If Asc(Cells(ia, ja).Value) > 96 Then
                letras = UCase(Cells(ia, ja).Value)
                Cells(ia, ja) = letras
                ja = ja + 1
                Else
                letras = LCase(Cells(ia, ja).Value)
                Cells(ia, ja) = letras
                ja = ja + 1
                
                End If
                
                
            Loop
            ja = NCol(ra)
            ia = ia + 1
        Loop
        ra = ra + 1
    Loop
    
Else
    MsgBox "No aplica a más de 128 áreas, y usted seleccionó " & AreaCount & ".", vbDefaultButton1, "David le recuerda:"
End If

End Sub
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita