[英]Subscript out of Range Error Excel Copy/Paste
我正在使用以下代碼嘗試將B4從工作表10復制並粘貼到工作表6,然后在工作表6的b列中輸入時間戳。
但是,我在*所在的代碼行中出現subscript out of range
錯誤。
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = ThisWorkbook.Sheets(Sheet10Name) ****
Set pasteSheet = ThisWorkbook.Sheets(Sheet6Name)
copySheet.Range("B4").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Range("B" & (ActiveCell.Row)).Select
ActiveCell.Value = Now()
Application.CutCopyMode = False
Application.ScreenUpdating = True
現在,顯然我沒有將now()插入到sheet6的b列中。
正確的最終結果
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = ThisWorkbook.Sheets(Sheet10.Name)
Set pasteSheet = ThisWorkbook.Sheets(Sheet6.Name)
copySheet.Range("B4").Copy
pasteSheet.Cells(pasteSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
pasteSheet.Cells(pasteSheet.Rows.Count, 1).End(xlUp).Offset(0, 1).Value = Now()
Application.CutCopyMode = False
Application.ScreenUpdating = True
我認為這就是您使用(也許濫用) Sheets()
部分的方式。 嘗試這個:
Sub t()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = ThisWorkbook.Sheets(Sheet10.Name)
Set pasteSheet = ThisWorkbook.Sheets(Sheet6.Name)
copySheet.Range("B4").Copy
pasteSheet.Cells(pasteSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
pasteSheet.Range("B" & (ActiveCell.Row)).Select
ActiveCell.Value = Now()
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
還要注意,我在您的Rows.Count
和Range("B" & Activecell...)
部分中明確給出了工作表,這也應該有所幫助。 否則,切換工作表時可能會出現一些錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.