0
我有四張帶原始數據的工作表,我希望在工作簿中將其複製並單獨留作交叉參考。然後,我想用文本「proj def」刪除單元格上方的所有行(它會出現兩次,但兩個外觀之間存在單元格 - 這在我的代碼中很明顯)。我希望爲我的工作簿的前四張工作簿執行此操作,而僅保留原始的重複工作表,但只能在第一個標記爲「ptd」的工作表中執行此操作。我嘗試激活下一張工作表「ytd」,甚至刪除原始工作表「ptd」,看看它是否允許我更改myRange的位置,但我沒有成功。基本上我想在子方法中運行這個代碼,其中兩個用於第一個工作表「ptd」,另外兩個用於第二個工作表「ytd」,另外兩個用於「qtr」,最後2個用於「mth」。任何編輯我的示例代碼將不勝感激。刪除在多張紙上包含特定文本的所有行
Sub part1()
Worksheets("ptd").Copy After:=Worksheets("mth")
Worksheets("ytd").Copy After:=Worksheets("ptd (2)")
Worksheets("qtr").Copy After:=Worksheets("ytd (2)")
Worksheets("mth").Copy After:=Worksheets("qtr (2)")
End Sub
Sub part2()
Worksheets("ptd").Activate
Set rngActiveRange = ActiveCell
Dim MyRange As Range
Set MyRange = ActiveSheet.Range("A:A")
MyRange.Find("Customer Unit", LookIn:=xlValues).Select
rngActiveRange.Offset(-1, 0).Select
Range(rngActiveRange.Row & ":" & 1).Rows.Delete
End Sub
Sub part3()
Dim MyRange As Range
Set MyRange = ActiveSheet.Range("A:A")
MyRange.Find("Project Definition", LookIn:=xlValues).Select
ActiveCell.Offset(-1, 0).Select
Range(ActiveCell.Row & ":" & 1).Rows.Delete
End Sub
Sub part4()
Worksheets("ytd").Activate
Set rngActiveRange = ActiveCell
Dim MyRange As Range
Set MyRange = ActiveSheet.Range("A:A")
MyRange.Find("Customer Unit", LookIn:=xlValues).Select
rngActiveRange.Offset(-1, 0).Select
Range(rngActiveRange.Row & ":" & 1).Rows.Delete
End Sub
Sub part5()
Dim MyRange As Range
Set MyRange = ActiveSheet.Range("A:A")
MyRange.Find("Project Definition", LookIn:=xlValues).Select
ActiveCell.Offset(-1, 0).Select
Range(ActiveCell.Row & ":" & 1).Rows.Delete
End Sub
當您激活每個工作表時,什麼是「ActiveCell」?你想從底部開始刪除所有出現這些詞的行嗎? – BruceWayne
A26,「客戶單位」的位置 – Shin
如果「客戶單位」在「A26」和「A199」中,是否要從「1:198」中刪除所有行?編輯:等等,你在這兩張表中都有'Customer Unit'和'Project Definition'。您希望刪除「Customer Unit」之前的行,然後在刪除「Customer Unit」之前的行之後刪除「Project Definition」之前的行,是的?我理解正確嗎? – BruceWayne