Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Code to bold names within a cell- With a twist

I have two problems, but first a little background:

I have a worksheet that lists names, followed by the names are about 5
columns, two of which are a "capabilities" and "results" ranking. Each of
these columns only has 5 possible answers that can be put in. On another page
I have a 5x5 grid with Capabilities Ranking on the Vertical Axis and Results
on the Horiz. My macro loops through the data sheet and the places each
person's name in the appropriate cell on the grid.

The code places the people one on top of another and re-sizes the cell so
that you can see everyone's name. SO, one cell in the grid may look like
this....

John
Sally
Sue
Bob

Here are the problems:

1. There is another column of data that I have added to my array that holds
the employee's "develop on date". If this date is less than a a year away, I
want their name to be bold on the grid. The obvious problem here is bolding
one person's name and not the entire cell.

2. If more than 30 people have the same ranking, the re-sizer will try to
re-size the row greater than 490.5 (not allowed by excel) and it will crash.
I think this is a tougher question than the first. How in the world can I
prevent this. Is there anyway to say if there are more than 29 people who fit
this description, double stack them, ie.
Bob Sally
John David
Stuart Bob

I really don't know, I have no clue as to how I am supposed to solve that
problem.


THANK YYOU SO MUCH IN ADVANCE!!!!!

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default Code to bold names within a cell- With a twist

Keep a record of who needs to be highlighted by name and location in the grid
(or run it as a separate program)

you can bold a part of a string with

Sub BoldThe()
s = "Running in the Woods is hard"
i = InStr(1, s, "the", vbTextCompare)
ActiveCell.Value = s
ActiveCell.Characters(i, 3).Font.Bold = True
ActiveCell.WrapText = True
ActiveCell.EntireRow.AutoFit
End Sub

as a demonstration. The above is probably applicable for your second
column. Pick a standard column width, just append your names with no
chr(10) and when done, autofit the rows. The names won't necessarily be
lined up in a columnar fashion. If you need columnar, then you two column
approach seems good. You might do better with a mono-spaced font like
courier new. Also using a smaller font size might help.

--
Regards,
Tom Ogilvy


"macro_guy34345" wrote:

I have two problems, but first a little background:

I have a worksheet that lists names, followed by the names are about 5
columns, two of which are a "capabilities" and "results" ranking. Each of
these columns only has 5 possible answers that can be put in. On another page
I have a 5x5 grid with Capabilities Ranking on the Vertical Axis and Results
on the Horiz. My macro loops through the data sheet and the places each
person's name in the appropriate cell on the grid.

The code places the people one on top of another and re-sizes the cell so
that you can see everyone's name. SO, one cell in the grid may look like
this....

John
Sally
Sue
Bob

Here are the problems:

1. There is another column of data that I have added to my array that holds
the employee's "develop on date". If this date is less than a a year away, I
want their name to be bold on the grid. The obvious problem here is bolding
one person's name and not the entire cell.

2. If more than 30 people have the same ranking, the re-sizer will try to
re-size the row greater than 490.5 (not allowed by excel) and it will crash.
I think this is a tougher question than the first. How in the world can I
prevent this. Is there anyway to say if there are more than 29 people who fit
this description, double stack them, ie.
Bob Sally
John David
Stuart Bob

I really don't know, I have no clue as to how I am supposed to solve that
problem.


THANK YYOU SO MUCH IN ADVANCE!!!!!

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Code to bold names within a cell- With a twist

Well, that definitly helps, the problem is that this is going to be seen by a
lot of vice-prez's. So I need to formatting to look really good. Is there any
way to align the first name to the left of the cell and the second name to
the right of the cell?

Tom Jones Bob Denver
Dave Braine Meg Olvie

Something like that. I'll be honest, I am VERY new to vba. I am not really
sure what to do here. My boss definitly wants it to be in a columner format
and very professional looking.

Thanks again!
"Tom Ogilvy" wrote:

Keep a record of who needs to be highlighted by name and location in the grid
(or run it as a separate program)

you can bold a part of a string with

Sub BoldThe()
s = "Running in the Woods is hard"
i = InStr(1, s, "the", vbTextCompare)
ActiveCell.Value = s
ActiveCell.Characters(i, 3).Font.Bold = True
ActiveCell.WrapText = True
ActiveCell.EntireRow.AutoFit
End Sub

as a demonstration. The above is probably applicable for your second
column. Pick a standard column width, just append your names with no
chr(10) and when done, autofit the rows. The names won't necessarily be
lined up in a columnar fashion. If you need columnar, then you two column
approach seems good. You might do better with a mono-spaced font like
courier new. Also using a smaller font size might help.

--
Regards,
Tom Ogilvy


"macro_guy34345" wrote:

I have two problems, but first a little background:

I have a worksheet that lists names, followed by the names are about 5
columns, two of which are a "capabilities" and "results" ranking. Each of
these columns only has 5 possible answers that can be put in. On another page
I have a 5x5 grid with Capabilities Ranking on the Vertical Axis and Results
on the Horiz. My macro loops through the data sheet and the places each
person's name in the appropriate cell on the grid.

The code places the people one on top of another and re-sizes the cell so
that you can see everyone's name. SO, one cell in the grid may look like
this....

John
Sally
Sue
Bob

Here are the problems:

1. There is another column of data that I have added to my array that holds
the employee's "develop on date". If this date is less than a a year away, I
want their name to be bold on the grid. The obvious problem here is bolding
one person's name and not the entire cell.

2. If more than 30 people have the same ranking, the re-sizer will try to
re-size the row greater than 490.5 (not allowed by excel) and it will crash.
I think this is a tougher question than the first. How in the world can I
prevent this. Is there anyway to say if there are more than 29 people who fit
this description, double stack them, ie.
Bob Sally
John David
Stuart Bob

I really don't know, I have no clue as to how I am supposed to solve that
problem.


THANK YYOU SO MUCH IN ADVANCE!!!!!

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default Code to bold names within a cell- With a twist

There isn't a clean way to do what you want unless you want to pad the
characters with spaces and use a monospaced font.

The alternative might be to just write one name in a cell and space your
cells out so each current row will consist of multiple rows. then you hide
gridlines and apply boarderss to make these look like single cells. this
would allow you to stack as many names as you want in a virtual cell. You
could further expand it so that each current column would have 2 or more
columns and that would allow you to use your double (or more) columns of
names and they would be lined up. Again, visually, you use boarders to make
these look like individual large cells if that is the desire.

This would make bolding a name trivial as you would just bold that cell.
You could also make your virtual rows of uniform height and your vitual
columns of uniform width.

--
Regards,
Tom Ogilvy

"macro_guy34345" wrote:

Well, that definitly helps, the problem is that this is going to be seen by a
lot of vice-prez's. So I need to formatting to look really good. Is there any
way to align the first name to the left of the cell and the second name to
the right of the cell?

Tom Jones Bob Denver
Dave Braine Meg Olvie

Something like that. I'll be honest, I am VERY new to vba. I am not really
sure what to do here. My boss definitly wants it to be in a columner format
and very professional looking.

Thanks again!
"Tom Ogilvy" wrote:

Keep a record of who needs to be highlighted by name and location in the grid
(or run it as a separate program)

you can bold a part of a string with

Sub BoldThe()
s = "Running in the Woods is hard"
i = InStr(1, s, "the", vbTextCompare)
ActiveCell.Value = s
ActiveCell.Characters(i, 3).Font.Bold = True
ActiveCell.WrapText = True
ActiveCell.EntireRow.AutoFit
End Sub

as a demonstration. The above is probably applicable for your second
column. Pick a standard column width, just append your names with no
chr(10) and when done, autofit the rows. The names won't necessarily be
lined up in a columnar fashion. If you need columnar, then you two column
approach seems good. You might do better with a mono-spaced font like
courier new. Also using a smaller font size might help.

--
Regards,
Tom Ogilvy


"macro_guy34345" wrote:

I have two problems, but first a little background:

I have a worksheet that lists names, followed by the names are about 5
columns, two of which are a "capabilities" and "results" ranking. Each of
these columns only has 5 possible answers that can be put in. On another page
I have a 5x5 grid with Capabilities Ranking on the Vertical Axis and Results
on the Horiz. My macro loops through the data sheet and the places each
person's name in the appropriate cell on the grid.

The code places the people one on top of another and re-sizes the cell so
that you can see everyone's name. SO, one cell in the grid may look like
this....

John
Sally
Sue
Bob

Here are the problems:

1. There is another column of data that I have added to my array that holds
the employee's "develop on date". If this date is less than a a year away, I
want their name to be bold on the grid. The obvious problem here is bolding
one person's name and not the entire cell.

2. If more than 30 people have the same ranking, the re-sizer will try to
re-size the row greater than 490.5 (not allowed by excel) and it will crash.
I think this is a tougher question than the first. How in the world can I
prevent this. Is there anyway to say if there are more than 29 people who fit
this description, double stack them, ie.
Bob Sally
John David
Stuart Bob

I really don't know, I have no clue as to how I am supposed to solve that
problem.


THANK YYOU SO MUCH IN ADVANCE!!!!!

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Code to bold names within a cell- With a twist

How do I pad them with spaces and do the monospace font? I have no idea what
that means, but if that would make this possible, then I am game.

Thanks!

"Tom Ogilvy" wrote:

There isn't a clean way to do what you want unless you want to pad the
characters with spaces and use a monospaced font.

The alternative might be to just write one name in a cell and space your
cells out so each current row will consist of multiple rows. then you hide
gridlines and apply boarderss to make these look like single cells. this
would allow you to stack as many names as you want in a virtual cell. You
could further expand it so that each current column would have 2 or more
columns and that would allow you to use your double (or more) columns of
names and they would be lined up. Again, visually, you use boarders to make
these look like individual large cells if that is the desire.

This would make bolding a name trivial as you would just bold that cell.
You could also make your virtual rows of uniform height and your vitual
columns of uniform width.

--
Regards,
Tom Ogilvy

"macro_guy34345" wrote:

Well, that definitly helps, the problem is that this is going to be seen by a
lot of vice-prez's. So I need to formatting to look really good. Is there any
way to align the first name to the left of the cell and the second name to
the right of the cell?

Tom Jones Bob Denver
Dave Braine Meg Olvie

Something like that. I'll be honest, I am VERY new to vba. I am not really
sure what to do here. My boss definitly wants it to be in a columner format
and very professional looking.

Thanks again!
"Tom Ogilvy" wrote:

Keep a record of who needs to be highlighted by name and location in the grid
(or run it as a separate program)

you can bold a part of a string with

Sub BoldThe()
s = "Running in the Woods is hard"
i = InStr(1, s, "the", vbTextCompare)
ActiveCell.Value = s
ActiveCell.Characters(i, 3).Font.Bold = True
ActiveCell.WrapText = True
ActiveCell.EntireRow.AutoFit
End Sub

as a demonstration. The above is probably applicable for your second
column. Pick a standard column width, just append your names with no
chr(10) and when done, autofit the rows. The names won't necessarily be
lined up in a columnar fashion. If you need columnar, then you two column
approach seems good. You might do better with a mono-spaced font like
courier new. Also using a smaller font size might help.

--
Regards,
Tom Ogilvy


"macro_guy34345" wrote:

I have two problems, but first a little background:

I have a worksheet that lists names, followed by the names are about 5
columns, two of which are a "capabilities" and "results" ranking. Each of
these columns only has 5 possible answers that can be put in. On another page
I have a 5x5 grid with Capabilities Ranking on the Vertical Axis and Results
on the Horiz. My macro loops through the data sheet and the places each
person's name in the appropriate cell on the grid.

The code places the people one on top of another and re-sizes the cell so
that you can see everyone's name. SO, one cell in the grid may look like
this....

John
Sally
Sue
Bob

Here are the problems:

1. There is another column of data that I have added to my array that holds
the employee's "develop on date". If this date is less than a a year away, I
want their name to be bold on the grid. The obvious problem here is bolding
one person's name and not the entire cell.

2. If more than 30 people have the same ranking, the re-sizer will try to
re-size the row greater than 490.5 (not allowed by excel) and it will crash.
I think this is a tougher question than the first. How in the world can I
prevent this. Is there anyway to say if there are more than 29 people who fit
this description, double stack them, ie.
Bob Sally
John David
Stuart Bob

I really don't know, I have no clue as to how I am supposed to solve that
problem.


THANK YYOU SO MUCH IN ADVANCE!!!!!



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Code to bold names within a cell- With a twist

Courier new is a monospaced font. That means that an "i" takes up the same
amount of space/width as "W". So you would have to determine the most
characters you will need going across two columns of names (including some
spaces to separate them, then adjust every line so it is as wide as is
needed.

mmm mmmmm mmmmm mmmmmm
mm mmm mmm mmmmm
mmm mmmm mmmm mmm
mm mmmmm mm mmm
mmmmm mmm mm mm

on my screen these are pretty well lined up. The spaces added are the
padding.

--
Regards,
Tom Ogilvy


"macro_guy34345" wrote in message
...
How do I pad them with spaces and do the monospace font? I have no idea

what
that means, but if that would make this possible, then I am game.

Thanks!

"Tom Ogilvy" wrote:

There isn't a clean way to do what you want unless you want to pad the
characters with spaces and use a monospaced font.

The alternative might be to just write one name in a cell and space your
cells out so each current row will consist of multiple rows. then you

hide
gridlines and apply boarderss to make these look like single cells.

this
would allow you to stack as many names as you want in a virtual cell.

You
could further expand it so that each current column would have 2 or more
columns and that would allow you to use your double (or more) columns of
names and they would be lined up. Again, visually, you use boarders to

make
these look like individual large cells if that is the desire.

This would make bolding a name trivial as you would just bold that cell.
You could also make your virtual rows of uniform height and your vitual
columns of uniform width.

--
Regards,
Tom Ogilvy

"macro_guy34345" wrote:

Well, that definitly helps, the problem is that this is going to be

seen by a
lot of vice-prez's. So I need to formatting to look really good. Is

there any
way to align the first name to the left of the cell and the second

name to
the right of the cell?

Tom Jones Bob Denver
Dave Braine Meg Olvie

Something like that. I'll be honest, I am VERY new to vba. I am not

really
sure what to do here. My boss definitly wants it to be in a columner

format
and very professional looking.

Thanks again!
"Tom Ogilvy" wrote:

Keep a record of who needs to be highlighted by name and location in

the grid
(or run it as a separate program)

you can bold a part of a string with

Sub BoldThe()
s = "Running in the Woods is hard"
i = InStr(1, s, "the", vbTextCompare)
ActiveCell.Value = s
ActiveCell.Characters(i, 3).Font.Bold = True
ActiveCell.WrapText = True
ActiveCell.EntireRow.AutoFit
End Sub

as a demonstration. The above is probably applicable for your

second
column. Pick a standard column width, just append your names with

no
chr(10) and when done, autofit the rows. The names won't

necessarily be
lined up in a columnar fashion. If you need columnar, then you two

column
approach seems good. You might do better with a mono-spaced font

like
courier new. Also using a smaller font size might help.

--
Regards,
Tom Ogilvy


"macro_guy34345" wrote:

I have two problems, but first a little background:

I have a worksheet that lists names, followed by the names are

about 5
columns, two of which are a "capabilities" and "results" ranking.

Each of
these columns only has 5 possible answers that can be put in. On

another page
I have a 5x5 grid with Capabilities Ranking on the Vertical Axis

and Results
on the Horiz. My macro loops through the data sheet and the places

each
person's name in the appropriate cell on the grid.

The code places the people one on top of another and re-sizes the

cell so
that you can see everyone's name. SO, one cell in the grid may

look like
this....

John
Sally
Sue
Bob

Here are the problems:

1. There is another column of data that I have added to my array

that holds
the employee's "develop on date". If this date is less than a a

year away, I
want their name to be bold on the grid. The obvious problem here

is bolding
one person's name and not the entire cell.

2. If more than 30 people have the same ranking, the re-sizer will

try to
re-size the row greater than 490.5 (not allowed by excel) and it

will crash.
I think this is a tougher question than the first. How in the

world can I
prevent this. Is there anyway to say if there are more than 29

people who fit
this description, double stack them, ie.
Bob Sally
John David
Stuart Bob

I really don't know, I have no clue as to how I am supposed to

solve that
problem.


THANK YYOU SO MUCH IN ADVANCE!!!!!



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Code to bold names within a cell- With a twist

Tom's suggestion of using a mono space font would be easiest. But if you
know you will need two columns why not use two real columns.

Following puts all cells in A1:A10 in two cells in a row. I assume you have
some method of getting the actual cell values but just for ideas -

Option Explicit
Sub testSetup()
Dim i As Long, j As Long
Dim s As String
For i = 1 To 10
s = ""
For j = 1 To i
s = s & Chr(i + 64)
Next
Cells(i, 1) = s
Next

End Sub

Sub test()
Dim i As Long
Dim w As Double
Dim s1 As String, s2 As String

For i = 1 To 10
If i Mod 2 Then
If Len(s1) Then s1 = s1 & vbLf
s1 = s1 & Cells(i, 1)
Else
If Len(s2) Then s2 = s2 & vbLf
s2 = s2 & Cells(i, 1)
End If
Next

With Columns(1)
.AutoFit
w = .ColumnWidth
End With

Range("c11").Value = s1
Range("d11").Value = s2
Range("C:D").ColumnWidth = w

End Sub

Regards,
Peter T

"macro_guy34345" wrote in message
...
Well, that definitly helps, the problem is that this is going to be seen

by a
lot of vice-prez's. So I need to formatting to look really good. Is there

any
way to align the first name to the left of the cell and the second name to
the right of the cell?

Tom Jones Bob Denver
Dave Braine Meg Olvie

Something like that. I'll be honest, I am VERY new to vba. I am not really
sure what to do here. My boss definitly wants it to be in a columner

format
and very professional looking.

Thanks again!
"Tom Ogilvy" wrote:

Keep a record of who needs to be highlighted by name and location in the

grid
(or run it as a separate program)

you can bold a part of a string with

Sub BoldThe()
s = "Running in the Woods is hard"
i = InStr(1, s, "the", vbTextCompare)
ActiveCell.Value = s
ActiveCell.Characters(i, 3).Font.Bold = True
ActiveCell.WrapText = True
ActiveCell.EntireRow.AutoFit
End Sub

as a demonstration. The above is probably applicable for your second
column. Pick a standard column width, just append your names with no
chr(10) and when done, autofit the rows. The names won't necessarily be
lined up in a columnar fashion. If you need columnar, then you two

column
approach seems good. You might do better with a mono-spaced font like
courier new. Also using a smaller font size might help.

--
Regards,
Tom Ogilvy


"macro_guy34345" wrote:

I have two problems, but first a little background:

I have a worksheet that lists names, followed by the names are about 5
columns, two of which are a "capabilities" and "results" ranking. Each

of
these columns only has 5 possible answers that can be put in. On

another page
I have a 5x5 grid with Capabilities Ranking on the Vertical Axis and

Results
on the Horiz. My macro loops through the data sheet and the places

each
person's name in the appropriate cell on the grid.

The code places the people one on top of another and re-sizes the cell

so
that you can see everyone's name. SO, one cell in the grid may look

like
this....

John
Sally
Sue
Bob

Here are the problems:

1. There is another column of data that I have added to my array that

holds
the employee's "develop on date". If this date is less than a a year

away, I
want their name to be bold on the grid. The obvious problem here is

bolding
one person's name and not the entire cell.

2. If more than 30 people have the same ranking, the re-sizer will try

to
re-size the row greater than 490.5 (not allowed by excel) and it will

crash.
I think this is a tougher question than the first. How in the world

can I
prevent this. Is there anyway to say if there are more than 29 people

who fit
this description, double stack them, ie.
Bob Sally
John David
Stuart Bob

I really don't know, I have no clue as to how I am supposed to solve

that
problem.


THANK YYOU SO MUCH IN ADVANCE!!!!!



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
using the Excel generic worksheet names instead of user-given names in code Paul Excel Discussion (Misc queries) 5 June 26th 09 08:44 PM
Alphabetically list of last names: BOLD, not bold Lerner Excel Discussion (Misc queries) 16 March 1st 09 07:46 PM
Alphabetically list of names BOLD and NOT bold Lerner Excel Discussion (Misc queries) 13 March 1st 09 02:37 PM
Join bold and non-bold text in one cell bkincaid Excel Discussion (Misc queries) 3 March 21st 06 12:58 AM
using cell names in vb code bbxrider[_2_] Excel Programming 2 May 20th 04 03:43 AM


All times are GMT +1. The time now is 06:58 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"