【发布时间】:2021-01-29 03:26:07
【问题描述】:
我目前正在删除行。我已经让它在一张纸上工作了,但我只想问有没有办法同时删除几张纸上的行?我有一个唯一的键,即 student ID,它位于所有将受到影响的工作表的 Column C 中。所以,点击删除按钮,所有带有student ID的数据都会被删除。
使用下面的代码,我可以从STUDENTS_INFO 表中删除一行。
Sub del_stud()
Set ws = ActiveWorkbook.Worksheets("STUDENTS_INFO")
LastRow = ws.Cells(Rows.Count, "C").End(xlUp).Row
For r = 10 To LastRow
If CStr(ThisWorkbook.Sheets("HOME").Range("K11").Value) = ws.Cells(r, 3) Then
ws.Rows(r).EntireRow.Delete
MsgBox "Student's data is now deleted!"
Unload Me
End If
Next r
End Sub
将受到影响的工作表是STUDENTS_INFO、G1-Q1、G1-Q2、G1-Q3、G1-Q4、G2-Q1、G2-Q2、G3-Q3、G4-Q4 等。 ..我也有床单,希望不会被触及。这可能吗?
根据我的研究,它使用For Each ws In ThisWorkbook.Sheets。我尝试使用它,但它仍然删除了STUDENTS_INFO 工作表中的行,而不是多张工作表上的行。
这是我尝试过的代码。
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Sheets
LastRow = ws.Cells(Rows.Count, "C").End(xlUp).Row
For r = 10 To LastRow
If CStr(ThisWorkbook.Sheets("HOME").Range("K11").Value) = ws.Cells(r, 3) Then
ws.Rows(r).EntireRow.Delete
MsgBox "Student's data is now deleted!"
Unload Me
End If
Next r
Next ws
Application.ScreenUpdating = True
【问题讨论】: