首先,我從未使用過VBA(或VB),因此請記住這一點。我正試圖將行復制到我的工作簿中的另一個工作表。因此,無論何時第2行中的任何更改將發生在sheet1中,該行都應該複製到sheet2上的第2行中。如果在Sheet1中修改了第3行,則應在Sheet2上修改第5行。我希望在sheet2上的每行之間有一個空行。我將嘗試使用VBA創建一個新表以放置在此空行內。無論如何,我在我的Selection.Paste行發生錯誤。我對VBA的知識(一個小時的價值)非常有限,所以我可能完全不瞭解我想要做的事情。使用VBA將行復制到Excel中的另一個表格
Private Sub Worksheet_Change(ByVal Target As Range)
'Do not worry about column headers
If Target.Row = 1 Then Exit Sub
'On Error GoTo ErrHandler
Application.EnableEvents = False 'This might be necessary?
Sheet1.Rows(Target.Row).Select
Selection.Copy
Sheet1.Rows(Target.Row).Copy
If Target.Row = 2 Then
Sheet2.Rows(Target.Row).Select
Selection.Paste
Else
Sheet2.Select
Sheet2.Rows(Target.Row + Target.Row - 1).Select
Selection.Paste
End If
ErrHandler:
Application.EnableEvents = True 'This might be necessary?
End Sub
編輯:改變Selection.Paste
到ActiveSheet.Paste
之後,它現在的工作。
什麼錯誤,你得到的'Selection.Paste'線? – LittleBobbyTables 2012-07-09 17:55:44
啊,我現在開始工作了--_-。我將'Selection.Paste'改爲'ActiveSheet.Paste' – Justin 2012-07-09 17:57:38
@Justin,如果你有它的工作,請設置你自己的問題來回答。 – danielpiestrak 2012-07-09 18:50:49