/ / Excel: Clique no botão para copiar a linha em outra planilha - excel, vba, excel-vba

Excel: Clique no botão para copiar a linha em outra planilha - excel, vba, excel-vba

Eu sei eu sei. Há muitas sugestões de como resolver esse problema específico, mas de alguma forma todas elas tendem a falhar comigo.

O que eu tenho (simplificado): A "Folha" do Excel (Mac) com:

Name   Time   Date
Mike   08:00  01.01.2016

A segunda linha está produzindo os dados com base em algumas entradas em mais uma planilha.

O que eu preciso: Sempre que alterarei a segunda linha de "Saída" (ou seja, alterando a entrada), posso clicar em um botão para adicionar a segunda linha inteira a uma nova planilha "Log" (que também apresentará um cabeçalho). Essencialmente, registrando os dados ao clicar no botão. Os dados podem ser adicionados apenas uma vez, várias entradas dos mesmos dados são excluídas. Depois de registrar os dados em "Log", a segunda linha de "Saída" não precisa ser limpa, no entanto, não consigo adicionar os mesmos dados novamente.

Alguma ideia?

*EDITAR

Eu modifiquei o código daqui: http://goo.gl/48jjDo.

Sub Submit()
Application.ScreenUpdating = False

Dim refTable As Variant, trans As Variant
refTable = Array("A = A2", "B = B2", "C=C2")
Dim Row As Long
Row = Worksheets("Log").UsedRange.Rows.Count + 1
For Each trans In refTable
Dim Dest As String, Field As String
Dest = Trim(Left(trans, InStr(1, trans, "=") - 1)) & Row
Field = Trim(Right(trans, Len(trans) - InStr(1, trans, "=")))
Worksheets("Log").Range(Dest).value = Worksheets("Output").Range(Field).value
Next

Application.ScreenUpdating = True

End Sub

* Edit2

Ok, isso me deixou ainda mais:

Sub CopyRangeFromSheet1toSheet2()
Dim lastRow As Long
lastRow = Sheets("Sheet2").Range("A100000").End(xlUp).Row + 1 " then next free   row in sheet2
Sheets("Sheet1").Range("A2:C2").Copy Destination:=Sheets("Sheet2").Range("A" &   lastRow)
End Sub

No entanto, como verifico agora vários dados? E precisarei colar apenas os valores.

Respostas:

0 para resposta № 1

Até agora isso funciona:

Sub CopyFormulas()
Dim sht1 As Worksheet, sht2 As Worksheet

Set sht1 = Sheets("Output")
Set sht2 = Sheets("Log")

sht1.Range("A2:C2").Copy
sht2.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues


Application.CutCopyMode = False

response = MsgBox("data was added")

End Sub

Não é apenas a verificação de várias entradas que está faltando