Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
if a cell has a comment added that says:
Lineone LineTwo How can I have a msgbox that would only get the first line or second line of that comment? MsgBox ActiveCell.Comment.text?????? Thanks |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You can use the Split function to separate the lines. For example...
Dim CommentLines() As String CommentLines = Split(Range("A1").Comment.Text, vbLf) MsgBox "Line1 = " & CommentLines(0) MsgBox "Line2 = " & CommentLines(1) Note that Split **always** returns a zero-based array (hence, the 0 and 1 array indexes). By the way, you do not have to declare an array and then assign the output from the Split function to it... since Split returns an array, you can address its elements directly... MsgBox "Line1 = " & Split(Range("A1").Comment.Text, vbLf)(0) MsgBox "Line2 = " & Split(Range("A1").Comment.Text, vbLf)(1) Of course, if you did not know how many lines there were, you would have to use the array method and a loop... Dim X As Long Dim CommentLines() As String CommentLines = Split(Range("A1").Comment.Text, vbLf) For X = 0 To UBound(CommentLines) MsgBox "Line " & (X + 1) & " = " & CommentLines(X) Next -- Rick (MVP - Excel) "Kevin" wrote in message ... if a cell has a comment added that says: Lineone LineTwo How can I have a msgbox that would only get the first line or second line of that comment? MsgBox ActiveCell.Comment.text?????? Thanks |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Fantastic, Thanks so much!!!
"Rick Rothstein" wrote: You can use the Split function to separate the lines. For example... Dim CommentLines() As String CommentLines = Split(Range("A1").Comment.Text, vbLf) MsgBox "Line1 = " & CommentLines(0) MsgBox "Line2 = " & CommentLines(1) Note that Split **always** returns a zero-based array (hence, the 0 and 1 array indexes). By the way, you do not have to declare an array and then assign the output from the Split function to it... since Split returns an array, you can address its elements directly... MsgBox "Line1 = " & Split(Range("A1").Comment.Text, vbLf)(0) MsgBox "Line2 = " & Split(Range("A1").Comment.Text, vbLf)(1) Of course, if you did not know how many lines there were, you would have to use the array method and a loop... Dim X As Long Dim CommentLines() As String CommentLines = Split(Range("A1").Comment.Text, vbLf) For X = 0 To UBound(CommentLines) MsgBox "Line " & (X + 1) & " = " & CommentLines(X) Next -- Rick (MVP - Excel) "Kevin" wrote in message ... if a cell has a comment added that says: Lineone LineTwo How can I have a msgbox that would only get the first line or second line of that comment? MsgBox ActiveCell.Comment.text?????? Thanks |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Challenge - Excel Line Feed Character CHR(10) - How to Delete and keep the text formatting without going ro single line in a cell ? | Excel Worksheet Functions | |||
Text from a comment box into a cell | Excel Worksheet Functions | |||
Text from a comment box into a cell | Excel Worksheet Functions | |||
Create Cell Comment based on text in a cell on another worksheet | Excel Discussion (Misc queries) | |||
A 2 line text showing up in the Cell in Excel prints in 1 line | Excel Discussion (Misc queries) |