ストリングを変数として保存し、複数のループを使用して各ワークシートの各列を自動フィルター処理し、内部のストリングを含むすべての行を削除するそれ。ループスローステップスローで動作しますが、自動実行で失敗します
マクロをステップ実行するためにF8を押すと、マクロが終了するまですべてがうまくいくように見えます。しかし、私はちょうど実行ボタンを押してしようとすると、それは私がマクロを配置したい最初のセルを選択しているタブでのみ動作します。
違いがあれば、Excel 2016を実行していますか?
Sub Delete_Selection()
Dim Selection As Range
Dim Search As String
Dim ColumnCount As Long
Dim WS As Worksheet
Dim J As Integer
Set Selection = ActiveCell
Search = Selection
For i = 1 To Sheets.Count
With Sheets(i)
.AutoFilterMode = False
Set WS = ActiveSheet
ColumnCount = WS.Cells(2, WS.Columns.Count).End(xlToLeft).Column
With .Range("A1").CurrentRegion
For J = 1 To ColumnCount
On Error Resume Next
.AutoFilter J, Search
.Offset(1).SpecialCells(12).EntireRow.Delete
ActiveSheet.ShowAllData
On Error GoTo 0
Next J
End With
.AutoFilterMode = False
End With
Next i
End Sub
乾杯、
実際にループ内に 'ActiveSheet.ShowAllData'が必要ですか? –
アクティブなワークシート内のセルを選択しますが、各セルでセルを選択せずに他のワークシートをループします。 セット選択= ActiveCellの 検索を削除=選択 と.Range(「A1」)で 後に各ワークシート内の何かに変数を検索し設定。CurrentRegion – peakpeak