我嘗試過搜索其他問題,我發現類似的粘貼到新工作表的下一行,但我永遠無法讓他們工作。如何使用VBA Excel中的按鈕複製一行並粘貼到新工作表?
我在做什麼是庫存跟蹤表。 「當前庫存」是庫存輸入的地方。然後,我有「歷史5440」,我想爲戴爾Latitude 5440筆記本電腦創建每週的歷史記錄。
我想要發生的是當您輸入當前庫存時,您單擊提交按鈕並讓它找到5440項目(A8)並複製B8:G8中的輸入。一旦被複制,將它粘貼到從列B開始的「歷史5440」中的下一個可用行。
我有按鈕還配置爲發送當前庫存的電子郵件,它工作得很好。
讓我知道,如果我可以提供任何更多的信息。謝謝您的幫助!!
Sub Copy5440s()
' Copy5440s Macro
' Copys the 5440 info and pastes it to the next available row in History 5440.
Range("B8:G8").Copy
NextRow = Sheets("History 5440").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("History 5440").Paste
End Sub
所以我有事情使用遵循三行代碼工作。
Sub Test5440_2()
' copyWeek Macro
Range("B3").Copy
Sheets("History 5440").Range("A1048576").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
' Copy Laptop Info
Range("B8:E8").Copy Sheets("History 5440").Range("B1048576").End(xlUp).Offset(1, 0)
'Copy Last weeks
Sheets("History 5440").Range("F6").Copy Sheets("History 5440").Range("F1048576").End(xlUp).Offset(1, 0)
End Sub
這工作得很好。但是,當我將其複製到其他工作表時,它只會進行部分複製。它適用於前兩個「歷史」選項卡。之後它只複製「筆記本電腦信息」,而不是周或lastweek。
對於3個任務來說,它有很多線條,所以如果有一種方法來鞏固一些東西來使它更清潔,我很想弄明白。我認爲這就是爲什麼它只適用於前兩個工作表?
「的筆記本電腦複製信息,並移動到它的歷史標籤
Range("B8:e8").Copy Sheets("History 5440").Range("B1048576").End(xlUp).Offset(1, 0)
Range("B9:e9").Copy Sheets("History 7450").Range("B1048576").End(xlUp).Offset(1, 0)
Range("B10:e10").Copy Sheets("History 7470").Range("B1048576").End(xlUp).Offset(1, 0)
Range("B11:e11").Copy Sheets("History MBP 15 Retina").Range("B1048576").End(xlUp).Offset(1, 0)
Range("B12:e12").Copy Sheets("History MBP 13 Retina").Range("B1048576").End(xlUp).Offset(1, 0)
'Copy week and move to history
Range("B3").Copy
Sheets("History 5440").Range("A1048576").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range("B3").Copy
Sheets("History 7450").Range("A1048576").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range("B3").Copy
Sheets("History 7470").Range("A1048576").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range("B3").Copy
Sheets("History MBP 15 Retina").Range("A1048576").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range("B3").Copy
Sheets("History MBP 13 Retina").Range("A1048576").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
'Copy Last weeks
Sheets("History 5440").Range("F6").Copy Sheets("History 5440").Range("F1048576").End(xlUp).Offset(1, 0)
Sheets("History 5440").Range("F6").Copy Sheets("History 5440").Range("F1048576").End(xlUp).Offset(1, 0)
Sheets("History 5440").Range("F6").Copy Sheets("History 5440").Range("F1048576").End(xlUp).Offset(1, 0)
Sheets("History 5440").Range("F6").Copy Sheets("History 5440").Range("F1048576").End(xlUp).Offset(1, 0)
Sheets("History 5440").Range("F6").Copy Sheets("History 5440").Range("F1048576").End(xlUp).Offset(1, 0)
如果您已經有一些代碼,請編輯您的問題以包含代碼。如果你不這樣做,任何人都不會願意從頭開始編寫它 - 不幸的是,我們不是一個腳本編寫服務。如果您還可以提供您的數據/您希望看到的示例 - 屏幕截圖也有幫助。 – CallumDA
嗨Callum,是的,我提出了添加更多信息的意圖,但之後我們在辦公室發生網絡中斷,我被拖走了。我附上了我放在一起的代碼,以及從位置複製的屏幕快照和「到」位置。 –
當我運行它時,我可以讓它工作,但它會將它粘貼到隨機單元格中。這是我正在使用的最新代碼,也是我實際上在某種程度上正確地做了某些事情的唯一代碼。 –