Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Hello,
I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
#2
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Alan -
This simple code will get you started. Range A1:A5 is where the data is stored. Modify this to suit your needs. You may also need to change the text box name if you have multiple text boxes on the sheet. Sub AddTextToBox() Dim strTextBox As String For Each cell In Range("A1:A5") strTextBox = strTextBox & cell.Value & Chr(10) Next cell ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox End Sub - John www.johnmichl.com/exceltips.htm AJL wrote: Hello, I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
#3
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
I entered the macro script you gave me, changing the range to the appropriate
range that contains my vlookups returning text, and the name of the text box to the correct box. I then assigned the macro to a button. Running the macro however doesn't put the text in the box, it gives no errors either, it seems like nothing is happening. "John Michl" wrote: Alan - This simple code will get you started. Range A1:A5 is where the data is stored. Modify this to suit your needs. You may also need to change the text box name if you have multiple text boxes on the sheet. Sub AddTextToBox() Dim strTextBox As String For Each cell In Range("A1:A5") strTextBox = strTextBox & cell.Value & Chr(10) Next cell ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox End Sub - John www.johnmichl.com/exceltips.htm AJL wrote: Hello, I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
#4
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Add the message boxes below and it should help you find where the
problem is. If Box 3 shows nothing after the = sign the problem then is with your code between the For and Next statements. If Box 3 does have a result, then the problem is with the with Shapes statement which may indicate that you are using a control rather than a shape. - John Sub AddTextToBox() Dim strTextBox As String MsgBox "Box 1. Starting macro." For Each cell In Range("A1:A5") MsgBox "Box 2. " & cell.Address & " - contents = " & cell.value strTextBox = strTextBox & cell.Value & Chr(10) Next cell MsgBox "Box 3. Contents of strTextBox = " & strTextBox ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox MsgBox "Box 4. Done." End Sub AJL wrote: I entered the macro script you gave me, changing the range to the appropriate range that contains my vlookups returning text, and the name of the text box to the correct box. I then assigned the macro to a button. Running the macro however doesn't put the text in the box, it gives no errors either, it seems like nothing is happening. "John Michl" wrote: Alan - This simple code will get you started. Range A1:A5 is where the data is stored. Modify this to suit your needs. You may also need to change the text box name if you have multiple text boxes on the sheet. Sub AddTextToBox() Dim strTextBox As String For Each cell In Range("A1:A5") strTextBox = strTextBox & cell.Value & Chr(10) Next cell ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox End Sub - John www.johnmichl.com/exceltips.htm AJL wrote: Hello, I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
#5
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
I put the message boxes in, and the macro does run to completion. The text
however, still does not appear in the text box, and it is indeed a shape. I noticed in the message boxes, some of the text returned in the cells is being truncated when selected. Is it possible that I have exceded some sort of character limit that is preventing my text from pasting into the text box? if so, is it possible to overcome that limit? There is definately more text retuning from the vlookup and it is present in the cell. When I print my strTextBox buffer however, only a portion appears. "John Michl" wrote: Add the message boxes below and it should help you find where the problem is. If Box 3 shows nothing after the = sign the problem then is with your code between the For and Next statements. If Box 3 does have a result, then the problem is with the with Shapes statement which may indicate that you are using a control rather than a shape. - John Sub AddTextToBox() Dim strTextBox As String MsgBox "Box 1. Starting macro." For Each cell In Range("A1:A5") MsgBox "Box 2. " & cell.Address & " - contents = " & cell.value strTextBox = strTextBox & cell.Value & Chr(10) Next cell MsgBox "Box 3. Contents of strTextBox = " & strTextBox ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox MsgBox "Box 4. Done." End Sub AJL wrote: I entered the macro script you gave me, changing the range to the appropriate range that contains my vlookups returning text, and the name of the text box to the correct box. I then assigned the macro to a button. Running the macro however doesn't put the text in the box, it gives no errors either, it seems like nothing is happening. "John Michl" wrote: Alan - This simple code will get you started. Range A1:A5 is where the data is stored. Modify this to suit your needs. You may also need to change the text box name if you have multiple text boxes on the sheet. Sub AddTextToBox() Dim strTextBox As String For Each cell In Range("A1:A5") strTextBox = strTextBox & cell.Value & Chr(10) Next cell ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox End Sub - John www.johnmichl.com/exceltips.htm AJL wrote: Hello, I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
#6
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Yes, there are limites (255 characters, I think) but some work arounds.
I used this article awhile back to solve similar problems. http://support.microsoft.com/default.aspx?kbid=148815 - John www.johnmichl.com/exceltips.htm AJL wrote: I put the message boxes in, and the macro does run to completion. The text however, still does not appear in the text box, and it is indeed a shape. I noticed in the message boxes, some of the text returned in the cells is being truncated when selected. Is it possible that I have exceded some sort of character limit that is preventing my text from pasting into the text box? if so, is it possible to overcome that limit? There is definately more text retuning from the vlookup and it is present in the cell. When I print my strTextBox buffer however, only a portion appears. "John Michl" wrote: Add the message boxes below and it should help you find where the problem is. If Box 3 shows nothing after the = sign the problem then is with your code between the For and Next statements. If Box 3 does have a result, then the problem is with the with Shapes statement which may indicate that you are using a control rather than a shape. - John Sub AddTextToBox() Dim strTextBox As String MsgBox "Box 1. Starting macro." For Each cell In Range("A1:A5") MsgBox "Box 2. " & cell.Address & " - contents = " & cell.value strTextBox = strTextBox & cell.Value & Chr(10) Next cell MsgBox "Box 3. Contents of strTextBox = " & strTextBox ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox MsgBox "Box 4. Done." End Sub AJL wrote: I entered the macro script you gave me, changing the range to the appropriate range that contains my vlookups returning text, and the name of the text box to the correct box. I then assigned the macro to a button. Running the macro however doesn't put the text in the box, it gives no errors either, it seems like nothing is happening. "John Michl" wrote: Alan - This simple code will get you started. Range A1:A5 is where the data is stored. Modify this to suit your needs. You may also need to change the text box name if you have multiple text boxes on the sheet. Sub AddTextToBox() Dim strTextBox As String For Each cell In Range("A1:A5") strTextBox = strTextBox & cell.Value & Chr(10) Next cell ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox End Sub - John www.johnmichl.com/exceltips.htm AJL wrote: Hello, I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
#7
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
I think John is correct on the character limit of a cell being 255 before
the text begins to appear truncated. The text is still in the cell, but all of it is not seen. However, I have had no problems with getting a textbox to display all of the text when linking that cell. I tested this on a cell that contains 2,136 characters. Though the text in the cell appears trucated, the textbox displays all of the text as long as the textbox is large enough and the properties are set for MultiLine and WordWrap. To see if the issue has anything to do with the fact that the text is formula generated, you might to cut and PasteSpecial (Values Only) to another cell and see if linking to that cell changes anything. Regards, Paul "AJL" wrote in message ... I put the message boxes in, and the macro does run to completion. The text however, still does not appear in the text box, and it is indeed a shape. I noticed in the message boxes, some of the text returned in the cells is being truncated when selected. Is it possible that I have exceded some sort of character limit that is preventing my text from pasting into the text box? if so, is it possible to overcome that limit? There is definately more text retuning from the vlookup and it is present in the cell. When I print my strTextBox buffer however, only a portion appears. "John Michl" wrote: Add the message boxes below and it should help you find where the problem is. If Box 3 shows nothing after the = sign the problem then is with your code between the For and Next statements. If Box 3 does have a result, then the problem is with the with Shapes statement which may indicate that you are using a control rather than a shape. - John Sub AddTextToBox() Dim strTextBox As String MsgBox "Box 1. Starting macro." For Each cell In Range("A1:A5") MsgBox "Box 2. " & cell.Address & " - contents = " & cell.value strTextBox = strTextBox & cell.Value & Chr(10) Next cell MsgBox "Box 3. Contents of strTextBox = " & strTextBox ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox MsgBox "Box 4. Done." End Sub AJL wrote: I entered the macro script you gave me, changing the range to the appropriate range that contains my vlookups returning text, and the name of the text box to the correct box. I then assigned the macro to a button. Running the macro however doesn't put the text in the box, it gives no errors either, it seems like nothing is happening. "John Michl" wrote: Alan - This simple code will get you started. Range A1:A5 is where the data is stored. Modify this to suit your needs. You may also need to change the text box name if you have multiple text boxes on the sheet. Sub AddTextToBox() Dim strTextBox As String For Each cell In Range("A1:A5") strTextBox = strTextBox & cell.Value & Chr(10) Next cell ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = strTextBox End Sub - John www.johnmichl.com/exceltips.htm AJL wrote: Hello, I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
#8
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
I believe you'll need to set the properties of your text box. In design
mode, right-click on your text box and select Properties. Then, Enable WordWrap and Multi Line. HTH, Paul "AJL" wrote in message ... Hello, I am trying to copy and paste the text returned by several vlookup formulas to a text box. The amount of text returned to the cells is quite large. When I set the text box equal to one of the cells, only a portion of the text appears in the text box. When I set it equal to a range of cells I get nothing. Is it possible to generate a macro that will copy and paste large amounts of text that result from numerous equations into a text box? Thanks. -Alan Lueke |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Copy text from word with returns into one cell | Excel Discussion (Misc queries) | |||
Text entries behaving like numbers | Excel Discussion (Misc queries) | |||
How can I copy cell formats in functions? | Excel Worksheet Functions | |||
How do I copy text from a cell into a comment? | Excel Discussion (Misc queries) | |||
Copy text from same cell on every sheet to title sheet? | Excel Discussion (Misc queries) |