Código Excel VBA para recortar de uma célula e colar em outra

Código Excel VBA para recortar de uma célula e colar em outra

Estou tentando configurar um código no Excel usando VBA para copiar células maiores que "0" da coluna "H" e colar o conteúdo na célula da coluna "G". Por exemplo, se “H2” for maior que “0”, recorte e cole em “G2” e assim por diante. Não consigo encontrar nada que funcione. Qualquer ajuda seria muito apreciada.

Responder1

Para ajudá-lo um pouco, para copiar e colar usando VBA, veja o seguinte:

Sub Copy_paste()
    ThisWorkbook.Sheets("Sheet1").Range("A1").Copy
    ThisWorkbook.Sheets("Sheet1").Range("B1").Select
    ThisWorkbook.Sheets("Sheet1").Paste
End Sub

Deve ser bastante simples, mas tudo o que for colocado em "A1" é a fonte de onde copiar, e tudo o que for colocado em "B1" é o destino. A propósitocorteem vez decópia de, basta substituir .Copy por .Cut.

Quanto à sua lógica maior que e tal, basta adicionar alguns operadores lógicos em torno do método copiar/colar que mostrei acima. Por exemplo, para copiar A1 para B1 se A1 for maior que 2:

Sub Copy_paste()
    If ThisWorkbook.Sheets("Sheet1").Range("A1") > 2 Then
        ThisWorkbook.Sheets("Sheet1").Range("A1").Copy
        ThisWorkbook.Sheets("Sheet1").Range("B1").Select
        ThisWorkbook.Sheets("Sheet1").Paste
    End If
End Sub

Observação

Observe também que você pode fazer referência a uma célula de muitas maneiras diferentes. Os itens a seguir são sinônimos se tudo estiver acontecendo na mesma pasta de trabalho:

  • ThisWorkbook.Sheets("Planilha1").Range("A1")
  • Range("'Planilha1'!A1")
  • ThisWorkbook.Sheets("Planilha1").Células(1,1)
  • Planilhas("Planilha1").Células(1,1)
  • Planilhas("Planilha1").Intervalo("A1")

informação relacionada