Libro "nuevo filtro" en excel

Para elsa: como realizar el debido pegado a la hoja 2 y colorear mediante filtro aquellas celdas que correspondan a la búsqueda de la fila

1 respuesta

Respuesta
2

Recibidas las muestras. Ya me ocuparé en el día de hoy.

Sdos.

Elsa

http://aplicaexcel.com/funciones

¡Gracias! 

Ya te devolví el libro. Volvemos a 1 solo color considerande que hay celdas con 2 dígitos (imposible tener un color por nro.)

Los cambios aquí:

'rellena la tabla de coincidencias
  Dim nro As String
  Dim ho2, busco
  Dim filx As Long, colx As Long
  nro = Replace(t, "?", "_")
'Atención con el nombre de la hoja...
Set ho2 = Sheets("Hoja2")
Set busco = ho2.Range("A:AA").Find(nro, LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
    filx = busco.Row: colx = busco.Column
    With ho2
        .Cells(filx, colx + 2) = Val(Filax)
        .Cells(filx, colx + 3) = Val(TextBox1)
        .Cells(filx, colx + 4) = Val(TextBox2)
        'el mismo color a las 3 celdas
        Range(.Cells(filx, colx + 2), .Cells(filx, colx + 4)).Interior.ColorIndex = 4
        .Cells(filx + 1, colx + 2) = Val(Vecesx)
        .Cells(filx + 1, colx + 3) = Val(TextBox3)
        .Cells(filx + 1, colx + 4) = Val(TextBox4)
        'se pasan los valores al nuevo rango.
        .[AF2] = Val(Filax)
        .[AH2] = Val(TextBox1)
        .[AJ2] = Val(TextBox2)
    End With
End If
End Sub

Sdos y no olvides votar la respuesta.

Elsa

Adjunto nueva macro según aclaraciones del filtrado. Como ahora no se ejecuta desde el formulario sino al ingresar datos en las 3 celdas establecidas, la macro (única) se coloca en el objeto HOJA donde estarán los nros.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'si se borra(n) la(s) celda(s) no se ejecuta
If Target.Count > 1 Then Exit Sub
'solo se controla el rango AF2:AJ2
If Intersect(Target, Range("AF2, AH2, AJ2")) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
'recorre las col desde C hasta AD x cada fila
For y = 3 To 30
    x = 2: cant = 0
    While x <= 200     'recorre desde fila 2 a 200. Ajustar si cambia el modelo.
        'se colorea si B de la fila activa tiene texto 'fila'
        If Range("B" & x) = "fila" Then
            If Cells(x, y) = Target.Value Then Cells(x, y).Interior.ColorIndex = 7
        End If
        x = x + 1
    Wend
    cant = cant + 1
    If cant = 3 Then y = y + 3  'por la dif entre tablas
Next y
End Sub

En libro adjunto tenés la lista de nros por color. Por ahora quedó con el valor 7.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas