您需要在我的代碼調整的名字,但如果你在每個部門張(而不是主列表)粘貼此代碼,你應該得到你想要的結果:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim xlws As Excel.Worksheet
Set xlws = ActiveSheet
For i = 1 To 13
If IsEmpty(xlws.Cells(2, i).Value) = True Then
Exit Sub
End If
Next
Dim xlwsMaster As Excel.Worksheet
Set xlwsMaster = ActiveWorkbook.Worksheets("master list")
i = 1
Do While IsEmpty(xlwsMaster.Range("A" & i).Value) = False
i = i + 1
Loop
xlws.Range("A2:M2").Copy
xlwsMaster.Range("A" & i).PasteSpecial xlPasteAll
xlws.Range("A2:M2").Clear
End Sub
每次有在其中一張紙上進行更改,它將檢查一個通孔m的所有值是否填充,如果它們是複製a2:m2並將其粘貼到主列表的第一個空行上,然後清除通孔m上的a2:m2有問題的表格
謝謝soooo多Tbizzness,我剛從這裏開始,發現他們不想要/使用宏。我很抱歉浪費時間! – 2014-11-03 19:53:58
我知道這是舊的,併爲我的新手感到遺憾,但是我的代碼中有什麼需要更改才能匹配我的牀單?另外,如果我不希望它清除子表上的數據,我只需要取出「xlws.Range(」a2:M2「)。清除」? – 2014-11-06 21:24:54
是刪除清除,但您需要在2處插入新的一行,因爲這樣做的理解是新數據總是以a2:m2表示。唯一需要更改的代碼是將xlwsMaster設置爲與您調用的主表單相同。 – Tbaker 2014-11-07 12:44:29