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!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software