Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a spreadsheet where some rows are formatted with strikethrough font.
I need some code to delete the entire row where the font is set to strike through. Thanks, Keith |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Keith,
Are the entire rows formatted to strikethrough? If so then the following code should do what you want. If not the entire row formatted to strikethrouth then will need to know the specific columns that are. Note: It is necessary to work backwards from the bottom when deleting rows. Sub DeleteStrikeThrough() Dim rngRow As Range Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Rows(r).Font.Strikethrough = True Then Rows(r).Delete End If Next r End Sub -- Regards, OssieMac "Keith" wrote: I have a spreadsheet where some rows are formatted with strikethrough font. I need some code to delete the entire row where the font is set to strike through. Thanks, Keith |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi again Keith,
If not the entire row, if you have a specific column that will have the strickthrough then the following will do what you want. Just replace the "A" in Cells(r,"A") with whatever column you wish. Also in the previous post, delete the line Dim rngRow As Range. I initially was going to do it a different way and didn't remove the line. Sub DeleteStrikeThrough2() Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Cells(r, "A").Font.Strikethrough = True Then Cells(r, "A").EntireRow.Delete End If Next r End Sub -- Regards, OssieMac "OssieMac" wrote: Hi Keith, Are the entire rows formatted to strikethrough? If so then the following code should do what you want. If not the entire row formatted to strikethrouth then will need to know the specific columns that are. Note: It is necessary to work backwards from the bottom when deleting rows. Sub DeleteStrikeThrough() Dim rngRow As Range Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Rows(r).Font.Strikethrough = True Then Rows(r).Delete End If Next r End Sub -- Regards, OssieMac "Keith" wrote: I have a spreadsheet where some rows are formatted with strikethrough font. I need some code to delete the entire row where the font is set to strike through. Thanks, Keith |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks OsieMac,
It works well. Does just what I need. Regards, Keith "OssieMac" wrote: Hi again Keith, If not the entire row, if you have a specific column that will have the strickthrough then the following will do what you want. Just replace the "A" in Cells(r,"A") with whatever column you wish. Also in the previous post, delete the line Dim rngRow As Range. I initially was going to do it a different way and didn't remove the line. Sub DeleteStrikeThrough2() Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Cells(r, "A").Font.Strikethrough = True Then Cells(r, "A").EntireRow.Delete End If Next r End Sub -- Regards, OssieMac "OssieMac" wrote: Hi Keith, Are the entire rows formatted to strikethrough? If so then the following code should do what you want. If not the entire row formatted to strikethrouth then will need to know the specific columns that are. Note: It is necessary to work backwards from the bottom when deleting rows. Sub DeleteStrikeThrough() Dim rngRow As Range Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Rows(r).Font.Strikethrough = True Then Rows(r).Delete End If Next r End Sub -- Regards, OssieMac "Keith" wrote: I have a spreadsheet where some rows are formatted with strikethrough font. I need some code to delete the entire row where the font is set to strike through. Thanks, Keith |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi. Just a note if it applies. This assumes data is in Row 1.
For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 For example, if you only have data in A5:B7, then there are 3 rows, and not the assumed 7. Sub DeleteStrikeThrough2() Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 Debug.Print r Next r End Sub This returns 3,2,1 and not 7,6,5,4,3,2,1 Again, just a heads-up. - - - Dana DeLouis OssieMac wrote: Hi again Keith, If not the entire row, if you have a specific column that will have the strickthrough then the following will do what you want. Just replace the "A" in Cells(r,"A") with whatever column you wish. Also in the previous post, delete the line Dim rngRow As Range. I initially was going to do it a different way and didn't remove the line. Sub DeleteStrikeThrough2() Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Cells(r, "A").Font.Strikethrough = True Then Cells(r, "A").EntireRow.Delete End If Next r End Sub |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have applied conditional formating in column k asking to Strikethrough if
condition is met, but the below macro is not not working with conditional formating.. Pls help "OssieMac" wrote: Hi again Keith, If not the entire row, if you have a specific column that will have the strickthrough then the following will do what you want. Just replace the "A" in Cells(r,"A") with whatever column you wish. Also in the previous post, delete the line Dim rngRow As Range. I initially was going to do it a different way and didn't remove the line. Sub DeleteStrikeThrough2() Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Cells(r, "A").Font.Strikethrough = True Then Cells(r, "A").EntireRow.Delete End If Next r End Sub -- Regards, OssieMac "OssieMac" wrote: Hi Keith, Are the entire rows formatted to strikethrough? If so then the following code should do what you want. If not the entire row formatted to strikethrouth then will need to know the specific columns that are. Note: It is necessary to work backwards from the bottom when deleting rows. Sub DeleteStrikeThrough() Dim rngRow As Range Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Rows(r).Font.Strikethrough = True Then Rows(r).Delete End If Next r End Sub -- Regards, OssieMac "Keith" wrote: I have a spreadsheet where some rows are formatted with strikethrough font. I need some code to delete the entire row where the font is set to strike through. Thanks, Keith |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello OssieMac,
Thanks for the quick response, The entire row is not formatted as strike through, only columns A to M. Could we just base it on Column A? "OssieMac" wrote: Hi Keith, Are the entire rows formatted to strikethrough? If so then the following code should do what you want. If not the entire row formatted to strikethrouth then will need to know the specific columns that are. Note: It is necessary to work backwards from the bottom when deleting rows. Sub DeleteStrikeThrough() Dim rngRow As Range Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Rows(r).Font.Strikethrough = True Then Rows(r).Delete End If Next r End Sub -- Regards, OssieMac "Keith" wrote: I have a spreadsheet where some rows are formatted with strikethrough font. I need some code to delete the entire row where the font is set to strike through. Thanks, Keith |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Obviously you posted this before my second post showed up which does base it
on column A. -- Regards, OssieMac "Keith" wrote: Hello OssieMac, Thanks for the quick response, The entire row is not formatted as strike through, only columns A to M. Could we just base it on Column A? "OssieMac" wrote: Hi Keith, Are the entire rows formatted to strikethrough? If so then the following code should do what you want. If not the entire row formatted to strikethrouth then will need to know the specific columns that are. Note: It is necessary to work backwards from the bottom when deleting rows. Sub DeleteStrikeThrough() Dim rngRow As Range Dim r As Long For r = Sheets("Sheet1").UsedRange.Rows.Count To 1 Step -1 If Rows(r).Font.Strikethrough = True Then Rows(r).Delete End If Next r End Sub -- Regards, OssieMac "Keith" wrote: I have a spreadsheet where some rows are formatted with strikethrough font. I need some code to delete the entire row where the font is set to strike through. Thanks, Keith |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
how can I test in a formula if my font is strikethrough or not? | Excel Discussion (Misc queries) | |||
Count cells with strikethrough font? | Excel Worksheet Functions | |||
Strikethrough and Underline Font Macro | Excel Worksheet Functions | |||
Font strikethrough | Excel Programming | |||
Check font strikethrough | Excel Programming |