Excel VBA Code para mover dados de 4 células específicas para outra planilha na próxima linha disponível [closed]

0

Eu tenho aprendido sobre o código VBA, mas isso me deixou preso. Estou usando o Excel-2013.
Eu tenho 4 células na minha planilha "Fatura" (células E3, C3, E36 e E34) que eu quero transferir para minha planilha "Método de pagamento" na próxima linha disponível. A primeira linha que estará disponível é a terceira linha. Eu gostaria que a célula E3 copiasse para a coluna C, C3 para D, E36 para E e E34 para F. Quando cada fatura é salva, quero que esses dados sejam transferidos. Eu já tenho código claro minha fatura. Eu só preciso transferir essas 4 células de dados.

    
por Jen 18.02.2016 / 04:17

1 resposta

1

Tente o seguinte:

Sub CopyDataToMethodOfPayment()
    Dim NewRow: NewRow = GetFirstEmptyRowOnMethodOfPayment     'Find the next row free on "Method Of Payment"
    Worksheets("Method Of Payment").Cells(NewRow, 3).Value = Worksheets("Invoice").Range("E3").Value    'Copy E3 to Column C on empty row
    Worksheets("Method Of Payment").Cells(NewRow, 4).Value = Worksheets("Invoice").Range("C3").Value    'Copy C3 to Column D on empty row
    Worksheets("Method Of Payment").Cells(NewRow, 5).Value = Worksheets("Invoice").Range("E36").Value   'Copy E36 to Column E on empty row
    Worksheets("Method Of Payment").Cells(NewRow, 6).Value = Worksheets("Invoice").Range("E34").Value   'Copy E34 to Column F on empty row
End Sub

Function GetFirstEmptyRowOnMethodOfPayment() As Integer
    Dim RowCount: RowCount = 1 'Set row to start looking for empty rows from
    Do
        RowCount = RowCount + 1 'Increment to next row
    Loop Until IsEmpty(Worksheets("Method Of Payment").Cells(RowCount, 3).Value) 'Stop once we find an empty one
    GetFirstEmptyRowOnMethodOfPayment = RowCount    'Return the row number of the empty one
End Function
    
por 18.02.2016 / 05:30