miércoles

Colorear facilmente la fila activa

Hola
Esta es una forma facil de pintar la fila activa en Excel mediante VBA

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Rem conseguimos la ultima celda ocupada de la columna A
uf = Range("A" & Rows.Count).End(xlUp).Row
Rem trabajaremos con Target/Objetivo
With Target
    Rem si la columna activa se localiza despues de la columna E
    Rem si la fila activa es menor que 5
    Rem si la fila activa es mayor que uf (ultima fila ocupada)
    Rem >>> entonces salir de la rutina
    If .Column > 5 Or .Row < 5 Or .Row > uf Then Exit Sub
    Rem trabajando con el rango Range("A5:E" & uf)
    With Range("A5:E" & uf)
        Rem ningun color
        .Interior.ColorIndex = xlNone
        Rem negrita desactivada
        .Font.Bold = False
    End With
    Rem trabajar con la celda/fila activa
    With Range(Cells(.Row, 1), Cells(.Row, 5))
        Rem color a 6 (amarillo)
        .Interior.ColorIndex = 6
        Rem negrita activada
        .Font.Bold = True
    End With
End With
End Sub


Espero que sea de mucha utilidad

Saludos desde Honduras

domingo

Validacion de datos (tipo Google)

Hola
He preparado la siguiente lista dinamica (validacion de datos), solo se debe escribir la(s) letra(s) y pinchar o dar clic en la flechita de validacion para ver los datos encontrados segun el criterio

He usado la funcion INDICE, COINCIDIR y CONTARSI

Espero sea de mucha utilidad

Saludos desde Honduras

https://1drv.ms/x/s!ArXFzDCBi3UYgllU_n4XKBBWfinR

Eliminar Duplicados

Hola a todos!
De nuevo regreso con un aporte mas...

A raiz de varios temas similares (en uno de los foros que frecuento), y que muchos usuarios buscan este tipo de ayuda, y bueno me refiero a eliminar duplicados, aunque Excel, trae consigo esta herramienta, tenemos que decir que solo es validad para columnas continuas, o si seleccionamos una BD que tenga registros iguales, es decir en modo de filas y funciona perfectamente. Bueno la limitante de esta poderosa herramienta es que no elimina registros o datos, cuando por ejemplo en varios registros hay igualdad, pero en dos columnas no continuas... a continuacion adjunto un archivo, donde la columna "A" que es la Matricula y la columna "F" que son los Kilometros, y que la macro elminara todos los registros iguales, dejando solo uno de ellos

Espero que sirva

Sub Elimina_duplicadosGP()

Dim uf As Long, ColA As Long, ColF As Long, Eliminados As Long
With Application
.ScreenUpdating = False
uf = Range("A" & Rows.Count).End(xlUp).Row
Eliminados = 0
For x = uf To 3 Step -1
ColA = .CountIf(Range("A2:A" & x), Range("A" & x))
ColF = .CountIf(Range("F2:F" & x), Range("F" & x))
If ColA > 1 And ColF > 1 Then Eliminados = Eliminados + 1: Rows(x).Delete '.Interior.ColorIndex = 6
Next
With .ActiveWindow
.ScrollColumn = 1: .ScrollRow = 1: Range("A1").Select
End With
.ScreenUpdating = True
If Eliminados = 0 Then _
MsgBox "No existen registros que eliminar", vbExclamation, "Informacion": Exit Sub
MsgBox "Registros eliminados: " & VBA.Format(Eliminados, "#,##0"), vbInformation, "Exito!"
End With

End Sub


Saludos desde Honduras