![]() |
Macro for bolding and italicizing word strings
I want to bold and italicize every word that comes directly before or after
"v." For example, my sheet is full of cases cited as "Smith v. Jones" etc. I want everything on each side of "v." to be bolded and italicized, including the "v." |
Macro for bolding and italicizing word strings
...."including the v."? So you want the whole cell bold/italics?
|
Macro for bolding and italicizing word strings
Hi,
I hope it's a typo and you don't want the v in italics because I just read your post again before replying and the first part contradicts the last. having written the code I'll post it anyway. Alt +F11 to open VB editor, right click 'This workbook' and insert module and paste this in and run it Sub Prime_Lending() For Each c In ActiveSheet.UsedRange If WorksheetFunction.IsText(c) Then Findv = InStr(UCase(c.Value), "V") If Findv <= 1 Then GoTo getmeout If Mid(c.Value, Findv - 1, 1) < " " And Mid(c.Value, _ Findv + 1, 1) < " " Then GoTo getmeout With c.Characters(Start:=1, Length:=Len(c.Value)).Font .FontStyle = "Bold Italic" End With With c.Characters(Start:=Findv, Length:=1).Font .FontStyle = "Regular" End With End If getmeout: Next End Sub Mike "suestew" wrote: I want to bold and italicize every word that comes directly before or after "v." For example, my sheet is full of cases cited as "Smith v. Jones" etc. I want everything on each side of "v." to be bolded and italicized, including the "v." |
Macro for bolding and italicizing word strings
I ran your macro and it bolded and italicized all the words in the same cell
as a "v". I don't think you accounted for the period after the v. in "v." How do I undo a macro? "Mike H" wrote: Hi, I hope it's a typo and you don't want the v in italics because I just read your post again before replying and the first part contradicts the last. having written the code I'll post it anyway. Alt +F11 to open VB editor, right click 'This workbook' and insert module and paste this in and run it Sub Prime_Lending() For Each c In ActiveSheet.UsedRange If WorksheetFunction.IsText(c) Then Findv = InStr(UCase(c.Value), "V") If Findv <= 1 Then GoTo getmeout If Mid(c.Value, Findv - 1, 1) < " " And Mid(c.Value, _ Findv + 1, 1) < " " Then GoTo getmeout With c.Characters(Start:=1, Length:=Len(c.Value)).Font .FontStyle = "Bold Italic" End With With c.Characters(Start:=Findv, Length:=1).Font .FontStyle = "Regular" End With End If getmeout: Next End Sub Mike "suestew" wrote: I want to bold and italicize every word that comes directly before or after "v." For example, my sheet is full of cases cited as "Smith v. Jones" etc. I want everything on each side of "v." to be bolded and italicized, including the "v." |
Macro for bolding and italicizing word strings
On Sat, 6 Dec 2008 11:25:00 -0800, suestew
wrote: I want to bold and italicize every word that comes directly before or after "v." For example, my sheet is full of cases cited as "Smith v. Jones" etc. I want everything on each side of "v." to be bolded and italicized, including the "v." Your description is a bit confusing. If the case description occupies the entire cell, you could use conditional formatting. --ron |
Macro for bolding and italicizing word strings
Hi,
What it does is look for a V that isn't the first letter in a cell. It then checks there is a space both before and after the v and then bolds/italicises the parts before and after the v. the font for the v is left as normal. Your correct I didn't account for the period I missed that but all that means is the period will be bold and the code revision below cures that. If it isn't doing that for you then I'm confused. Post some sample data. Sub Prime_Lending() For Each c In ActiveSheet.UsedRange If WorksheetFunction.IsText(c) Then Findv = InStr(UCase(c.Value), "V") If Findv <= 1 Then GoTo getmeout If Mid(c.Value, Findv - 1, 1) < " " Or Mid(c.Value, _ Findv + 1, 1) < " " And Mid(c.Value, Findv + 1, 1) < _ "." Then GoTo getmeout With c.Characters(Start:=1, Length:=Len(c.Value)).Font .FontStyle = "Bold Italic" End With With c.Characters(Start:=Findv, Length:=2).Font .FontStyle = "Regular" End With End If getmeout: Next End Sub Mike "suestew" wrote: I ran your macro and it bolded and italicized all the words in the same cell as a "v". I don't think you accounted for the period after the v. in "v." How do I undo a macro? "Mike H" wrote: Hi, I hope it's a typo and you don't want the v in italics because I just read your post again before replying and the first part contradicts the last. having written the code I'll post it anyway. Alt +F11 to open VB editor, right click 'This workbook' and insert module and paste this in and run it Sub Prime_Lending() For Each c In ActiveSheet.UsedRange If WorksheetFunction.IsText(c) Then Findv = InStr(UCase(c.Value), "V") If Findv <= 1 Then GoTo getmeout If Mid(c.Value, Findv - 1, 1) < " " And Mid(c.Value, _ Findv + 1, 1) < " " Then GoTo getmeout With c.Characters(Start:=1, Length:=Len(c.Value)).Font .FontStyle = "Bold Italic" End With With c.Characters(Start:=Findv, Length:=1).Font .FontStyle = "Regular" End With End If getmeout: Next End Sub Mike "suestew" wrote: I want to bold and italicize every word that comes directly before or after "v." For example, my sheet is full of cases cited as "Smith v. Jones" etc. I want everything on each side of "v." to be bolded and italicized, including the "v." |
All times are GMT +1. The time now is 09:21 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com