¿Cómo puedo decirle a Excel para resaltar filas por su número de fila. Por ejemplo, digamos que yo quería en la fila 6, 10, 150, 201 destacó. Gracias.

OriginalEl autor Dan | 2012-06-06

7 Comentarios

  1. 5

    Aquí es otro basado en el Mote del .EntireRow.Interior.ColorIndex

    Esto no se limita a entrar en la fila de números, pero le da al usuario la flexibilidad para escoger las filas en tiempo de ejecución.

    Option Explicit
    
    Sub Sample()
        Dim Ret As Range
    
        On Error Resume Next
        Set Ret = Application.InputBox("Please select the rows that you would like to color", "Color Rows", Type:=8)
        On Error GoTo 0
    
        If Not Ret Is Nothing Then Ret.EntireRow.Interior.ColorIndex = 6
    End Sub

    SEGUIMIENTO

    Hay una manera de escribir la macro para leer los números de fila de una lista y resaltar las filas?

    Sí hay una manera. Digamos que la lista en la Celda A1 a A10, a continuación, puede utilizar este código

    Option Explicit
    
    Sub Sample()
        Dim i As Long, sh As Worksheet
    
        On Error GoTo Whoa
    
        Application.ScreenUpdating = False
    
        '~~> Set this to the sheet where the rows need to be colored
        Set sh = Sheets("Sheet2")
    
        '~~> Change Sheet1 to the sheet which has the list
        With Sheets("Sheet1")
            For i = 1 To 10
                If Not Len(Trim(.Range("A" & i).Value)) = 0 And _
                IsNumeric(.Range("A" & i).Value) Then _
                sh.Rows(.Range("A" & i).Value).Interior.ColorIndex = 3 '<~~ Red
            Next i
        End With
    
    LetsContinue:
        Application.ScreenUpdating = True
        Exit Sub
    Whoa:
        MsgBox Err.Description
        Resume LetsContinue
    End Sub
    Hola, solo una pequeña aclaración, yo debería haber incluido antes. La hoja de cálculo tiene varios miles de registros (filas). Es allí una manera de escribir la macro para leer los números de fila de una lista y resaltar las filas? Este es un informe diario que mire. Me gustaría automatizar tanto como puedo. Entonces me puede filtrar por color y sólo ver las que yo tenga.
    Sí, usted puede hacer eso. Actualizando el post.
    Gracias, voy a darle una oportunidad.
    Funciona muy bien, gracias.

    OriginalEl autor Siddharth Rout

  2. 5

    Como una alternativa a las Motas de polvo respuesta, puede utilizar el formato condicional.

    Por ejemplo: select A1:J500, formato Condicional >> Nueva regla >> el Uso de una fórmula…

    Para la fórmula entrar: =OR(ROW()=6, ROW()=10, ROW()=150, ROW()=201)

    +1 para una solución de VBA 🙂
    +1 El método más simple.

    OriginalEl autor Tim Williams

  3. 4

    Básicos de código VBA, siempre se puede iniciar la grabación de una macro, realizar la acción, detener la grabación, mira lo que se generó el código y, a continuación, limpiar eso para hacer lo que quieres. Por ejemplo, la grabación de la acción de resaltar una fila (para ajustar el valor de Interior.Color) te ofrece:

    Rows("13:13").Select
    Range("C13").Activate
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

    Los comandos de selección y extraños Interior de las propiedades pueden ser removidos dando:

    Rows("13:13").Interior.Color = 65535

    Añadiendo en la fila de selección múltiple:

    Rows("6:6,10:10,150:150,201:201").Interior.Color = 65535

    Resumen:

    • Grabar macro
    • Vista de Excel versión
    • Uso/Editar el código que necesita
    + 1 para la respuesta detallada 🙂

    OriginalEl autor Steve Konves

  4. 3
    objWB.Cells(rowNum,201).EntireRow.Interior.ColorIndex = 6

    etc

    + 1 Otra buena 🙂

    OriginalEl autor Motes

  5. 0

    Actualización: no se dio cuenta de la fecha en esto, pero pensé que había que añadir esto desde que era relevante a la respuesta que elijas.

    Además de Siddhartha Derrota de la respuesta, ya que no tengo suficiente rep comentar, sin embargo, usted puede dinámicamente averiguar cuántas filas hay en la hoja de cálculo con estas dos líneas. xlCellTypeConstants podría ser cambiado a otro XlCellType constante que usted necesita, y el rango puede ser cambiado para adaptarse a su hoja de cálculo.

    Dim numRows As Integer
    numRows = Range("A2", Range("A1048576").End(xlUp)).SpecialCells(xlCellTypeConstants).Cells.Count

    OriginalEl autor Kelsius

  6. 0

    Lo siento si no es lo más conciso o elegante como otras respuestas, pero hace el trabajo. Cuando estaba escribiendo código para mi propia aplicación necesitaba un bucle a través de mi código. También, en vez de resaltar la fila entera, sólo necesitaba para resaltar una parte de las filas.

    Sub Highlight()
    Dim ThisWB As Workbook
    Dim ThisWS As Worksheet
    Dim rows(0 To 3) As Integer
    Dim test As String
    
    Set ThisWB = ActiveWorkbook
    Set ThisWS = ThisWB.Sheets("Sheet1")
    
    rows(0) = 6
    rows(1) = 10
    rows(2) = 150
    rows(3) = 201
    
    For i = 0 To 3
        test = "A" & rows(i) & ":H" & rows(i)
        ThisWS.Range(test).Interior.ColorIndex = 15
    Next i
    
    End Sub

    OriginalEl autor Ray

  7. 0

    Usted podría ser capaz de lograr lo mismo con el formato condicional

    OriginalEl autor user6683046

Dejar respuesta

Please enter your comment!
Please enter your name here