如果工作表不再存在,请删除单元格

大家;

我有这样一些代码,可以从工作表中复制数字名称(作业编号)中的数据,并将它们过滤到主表单中的每个晚上closures电子邮件的列+1上。

我想在作业完成后删除作业页面。 当我删除一个页面时,我的数据不会从主邮件表格中删除。

如果单元格19(作业号)中的值不再在工作簿中,如何修改此代码以从列XXX中的单元格18-39中删除?

谢谢你的帮助!

Private Sub Worksheet_Activate() Dim ws, MASTER111 As Worksheet Dim ColIndex As Integer Dim CopyRange As Range Set Master = ThisWorkbook.Sheets("MASTER111") ColIndex = 2 'first column on Master sheet to paste data For Each ws In ThisWorkbook.Worksheets If IsNumeric(ws.Name) Then Master.Cells(19, ColIndex) = ws.Range("A1") 'put job name in first row Set CopyRange = Intersect(ws.UsedRange, ws.Range("N:N")) CopyRange.Copy Master.Cells(16, ColIndex).PasteSpecial xlValues Master.Cells(18, ColIndex) = "Job #" Master.Cells(19, ColIndex) = ws.Range("A1") 'put job name in first row ColIndex = ColIndex + 1 Set CopyRange = Nothing End If Next ws End Sub 

以您的代码作为示例,如果您想清除所需工作表上的事件更改。

将代码添加到所需的工作表。 不在模块上。 例如:Sheet1

 Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo CleanExit If Cells(2, Target.Column) = "0" Then Application.EnableEvents = False Range(Cells(4, Target.Column), Cells(8, Target.Column)).Clear End If CleanExit: Application.EnableEvents = True On Error GoTo 0 End Sub 

下次尝试使用新代码编辑您的问题时,请勿在评论中发布大型代码。