Excel:单击按钮将行复制到另一个工作表

时间:2016-02-22 16:39:43

标签: excel vba excel-vba

我知道,我知道。有很多建议如何解决这个特定的问题,但不知怎的,他们都倾向于失败。

我拥有(简化):A(Mac)Excel-Sheet"输出"用:

Name   Time   Date
Mike   08:00  01.01.2016

第二行是根据另一张纸上的某些输入产生数据。

我需要什么: 每当我改变第二行"输出" (即更改输入),我可以单击一个按钮将整个第二行添加到新工作表中#34; Log" (也会有一个标题)。基本上在单击按钮时记录数据。数据只能添加一次,删除相同数据的多个条目。在" Log"中记录数据后,第二行"输出"不需要清除,但我不能再添加相同的数据。

有什么想法吗?

*编辑

我从这里修改了代码: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

好的,这让我更进一步:

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

但是,如何立即检查多个数据?我只需要粘贴值。

1 个答案:

答案 0 :(得分:0)

到目前为止,这有效:

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

不仅仅是检查缺少的多个条目