Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Operador Range usando variaveis

se eu quiser fazer um laço para copiar as linhas de uma sheet pra outra avaliando uma coluna que esta true ou falsa:

Sub criatabela()

    Dim coluna1 As Integer
    Dim coluna2 As Integer
    coluna1 = 3
    coluna2 = 4
    Sheets("Patrimonio").Activate
    ActiveSheet.Cells(3, 16).Select

    Do While ActiveCell <> ""
        Sheets("Patrimonio").Activate
        ActiveSheet.Cells(coluna1, 16).Select

        If ActiveCell.Value = True Then

        Range(Cells(5, coluna1):Cells(13, coluna1)).Copy
        Sheets("Planilha cliente").Activate

        ActiveSheet.Cells(4, 2).PasteSpecial xlValues
        ActiveSheet.Cells(coluna2, 2).PasteSpecial xlFormats

        Sheets("Patrimonio").Activate
        ActiveSheet.Cells(coluna1, 16).Select

    End If

        coluna1 = coluna1 + 1
        coluna2 = coluna2 + 1

    Loop

o problema e que nao compila, a função range so recebe células formatadas (ex: E3). Como posso passar uma variável para essa função?

3 respostas
solução!

Boa tarde Kaique!

Testa assim:

Range(Cells(5, coluna1), Cells(13, coluna1)).Copy

Deu certo, mas tinha mais um erro, coloquei a variavel coluna depois da linha sendo que ela vem em primeiro. Obrigado pela ajuda

Isso mesmo! Eu nem percebi que estava invertido. rsrs Qualquer coisa, estamos às ordens!