У меня есть этот код, который удаляет ячейки по всему столбцу. Первоначально я думал, что это будет полезно, позже я понял, что если я это сделаю, полезные данные в том же столбце тоже будут удалены. Поэтому мне нужен код, который позволяет мне удалить любой диапазон ячеек будь то строки или столбцы в моем собственном удобствеУдалить ячейки в настраиваемых группах вместо целых строк или столбцов
Sub TestDatabase()
Dim rng As range, rngError As range, delRange As range
Dim i As Long, j As Long, k As Long
Dim wks As Worksheet
On Error Resume Next
Set rng = Application.InputBox("Select cells To be deleted", Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub Else rng.delete
For k = 1 To ThisWorkbook.Worksheets.Count 'runs through all worksheets
Set wks = ThisWorkbook.Worksheets(k)
With wks
For i = 1 To 7 '<~~ Loop trough columns A to G
'~~> Check if that column has any errors
On Error Resume Next
Set rngError = .Columns(i).SpecialCells(xlCellTypeFormulas, xlErrors)
On Error GoTo 0
If Not rngError Is Nothing Then
For j = 1 To 100 '<~~ Loop Through rows 1 to 100
If .Cells(j, i).Text = "#REF!" Then
'~~> Store The range to be deleted
If delRange Is Nothing Then
Set delRange = .Columns(i)
Exit For
Else
Set delRange = Union(delRange, .Columns(i))
End If
End If
Next j
End If
Next i
End With
Next k
'~~> Delete the range in one go
If Not delRange Is Nothing Then delRange.delete
End Sub
Похоже, что ваш код удаляет значения в заданном диапазоне ячеек (на одном листе), то проверяет все рабочие листы в книге (включая лист с удаленным диапазоном) для любых ошибок #REF !. Если обнаружены какие-либо ошибки, значения/формулы в ячейках ошибок также удаляются. Это правильно и ваше намерение? – PeterT
Yup thats right кроме той части, где вы упомянули, проверит все ошибки ref в книге. он фактически проходит через листы, чтобы удалить диапазоны и исправить ошибки одновременно, а не один лист. @PeterT – Niva
Вы запрашиваете возможность «удалять любой диапазон ячеек, будь то строки или столбцы, в моем собственном удобстве». Ваш код VBA выше соответствует вашим потребностям? Если нет, почему бы и нет? Я честно не вижу связи между вашей заявленной целью и кодом, который вы опубликовали. – PeterT