USER8888
08-06-2022, 12:15 PM
I'm trying to set up a macro in Microsoft Word (Windows 10) that will delete any row of a table containing the word "INTERNAL".
I found some code online that I've tweaked a little and manage to get working when I run the macro, but only if the word "INTERNAL" is in the first column:
Sub DIR()
' DeleteRowswithSpecificValue Macro
Sub DeleteRows()
Dim TargetText As String
Dim oRow As Row
If Selection.Information(wdWithInTable) = False Then Exit Sub
TargetText = "INTERNAL"
For Each oRow In Selection.Tables(1).Rows
If oRow.Cells(1).Range.Text = TargetText & vbCr & Chr(7) Then oRow.Delete
Next oRow
End Sub
How do I amend the above so that it either checks all columns, or alternatively, so that I can define which column it is checking (in this instance, it's only column 4 of the table that I'm actually interested in)?
I've tried changing each of the (1)s mentioned to (4)s, but that only causes errors instead.
I'm completely new to using VBA, so any help would be greatly appreciated.
Thank you.
I found some code online that I've tweaked a little and manage to get working when I run the macro, but only if the word "INTERNAL" is in the first column:
Sub DIR()
' DeleteRowswithSpecificValue Macro
Sub DeleteRows()
Dim TargetText As String
Dim oRow As Row
If Selection.Information(wdWithInTable) = False Then Exit Sub
TargetText = "INTERNAL"
For Each oRow In Selection.Tables(1).Rows
If oRow.Cells(1).Range.Text = TargetText & vbCr & Chr(7) Then oRow.Delete
Next oRow
End Sub
How do I amend the above so that it either checks all columns, or alternatively, so that I can define which column it is checking (in this instance, it's only column 4 of the table that I'm actually interested in)?
I've tried changing each of the (1)s mentioned to (4)s, but that only causes errors instead.
I'm completely new to using VBA, so any help would be greatly appreciated.
Thank you.