我想在列中搜索一個值並從Sheet1複製一行並創建一個新的表格作爲MySheet並粘貼該特定的行。但是我得到運行時間在MySheet中粘貼數據時出錯。請提供任何建議。Excel宏將數據從一個工作表複製和粘貼到另一個工作表
數據輸入我試圖:
ID名稱價格單位降序
1伊倉10 4信箱
2試驗11 14 XXXX
3試驗11 14 YYYY
4測試11 14郵箱
Sub SearchForString()
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
On Error GoTo Err_Execute
'Start search in row 4
LSearchRow = 4
'Start copying data to row 2 in Sheet2 (row counter variable)
LCopyToRow = 2
Worksheets.Add (After:=Worksheets(Worksheets.Count)).Name = "MySheet"
While Len(Range("A" & CStr(LSearchRow)).Value) > 0
'If value in column E = "Mail Box", copy entire row to Sheet2
If Range("E" & CStr(LSearchRow)).Value = "Mail Box" Then
'Select row in Sheet1 to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
'Paste row into Sheet2 in next row
Sheets("MySheet").Select
Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
'Move counter to next row
LCopyToRow = LCopyToRow + 1
'Go back to Sheet1 to continue searching
Sheets("Sheet1").Select
End If
LSearchRow = LSearchRow + 1
Wend
'Position on cell A3
Application.CutCopyMode = False
Range("A3").Select
MsgBox "All matching data has been copied."
Exit Sub
Err_Execute:
MsgBox "An error occurred."
End Sub
個
問候,
拉朱
有什麼錯誤? 'Worksheets.Add(After:= Worksheets(Worksheets.Count))。Name =「MySheet」'行在這裏運行良好......(Excel 2007)。 –
@Tiago:在MySheet中粘貼數據時,我的機器發生運行時錯誤,它能夠創建工作表,但不能粘貼數據。 – Raj
什麼是**精確**運行時錯誤消息?如果我們看不到您的機器,「在我的機器上發出運行時錯誤」不起作用。請記住,我們只有您提供的信息,因爲我們大多數人不會閱讀頭腦。如果你不告訴我們,我們不知道也不會幫助。 –