Excel - obtendo uma macro para generalizar para outras linhas

1

Digamos que eu crie uma macro que preencha o texto de B2: F2. Eu gostaria que essa mesma coisa seja possível em todas as outras linhas sem escrever uma macro para centenas de outras linhas.

Existe uma maneira de escrever essa macro e aplicá-la à linha que selecionei em vez de apenas à linha que usei para gravar a macro?

    
por tim 03.03.2012 / 18:23

1 resposta

3

Isto irá preencher "amarelo" para qualquer coisa que você tenha selecionado.

Sub Macro1()
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

Como alternativa, se eu leio sua pergunta corretamente (e você está falando sobre o Microsoft Excel), você quer preencher columns B through F da sua linha atual . Isso fará isso em amarelo, tudo dependendo de qual célula você selecionou quando a executou.

Sub Macro1()
    'define the range variable that will be filled
    Dim currentrange As Range
    'define the row number variable
    Dim Rownum As Integer

    'set our rownum variable to the current selection's row
    Rownum = Selection.Row

    'set our range variable to the current row's columns 2-6
    Set currentrange = Range((Cells(Rownum, 2)), (Cells(Rownum, 6)))

    'let's start filling!
    With currentrange.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        'pick your color here
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub
    
por 03.03.2012 / 18:46