Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi!
I have simple userform with one multiline textbox and 6 checkboxes. My problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). I will be grateful for any suggestion. Thanks in advance Eli |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have simple userform with one multiline textbox and 6 checkboxes. My
problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). Copy the "textbox value" to a new line? Where is this new line going? Did you, perhaps, mean to type "copy the CheckBox Caption property to the bottom of the TextBox? If not, I think you will need to clarify what is being copied and to where. Rick |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Rick,
Before one of the checkboxes are checked the textbox has one line, with for example the word - apple. I am asking about the creation of new line inside the textbox that the word apple will appear with the word Juice for example. So the textbox after one checked checkbox will be: apple apple juice apple pie (after the seconed checked checkbox) Eli "Rick Rothstein (MVP - VB)" wrote: I have simple userform with one multiline textbox and 6 checkboxes. My problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). Copy the "textbox value" to a new line? Where is this new line going? Did you, perhaps, mean to type "copy the CheckBox Caption property to the bottom of the TextBox? If not, I think you will need to clarify what is being copied and to where. Rick |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Something like:
TextBox1.value=TextBox1.value & " juice" But that is the same line Or do you mean: TextBox1.value=TextBox1.value & vbnewline & "juice" So what happens when the user uncheck that CheckBox ? Seems that a ListBox would be more appropriate for your needs. NickHK "???" wrote in message ... Rick, Before one of the checkboxes are checked the textbox has one line, with for example the word - apple. I am asking about the creation of new line inside the textbox that the word apple will appear with the word Juice for example. So the textbox after one checked checkbox will be: apple apple juice apple pie (after the seconed checked checkbox) Eli "Rick Rothstein (MVP - VB)" wrote: I have simple userform with one multiline textbox and 6 checkboxes. My problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). Copy the "textbox value" to a new line? Where is this new line going? Did you, perhaps, mean to type "copy the CheckBox Caption property to the bottom of the TextBox? If not, I think you will need to clarify what is being copied and to where. Rick |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have simple userform with one multiline textbox and 6 checkboxes. My
problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). Copy the "textbox value" to a new line? Where is this new line going? Did you, perhaps, mean to type "copy the CheckBox Caption property to the bottom of the TextBox? If not, I think you will need to clarify what is being copied and to where. Before one of the checkboxes are checked the textbox has one line, with for example the word - apple. I am asking about the creation of new line inside the textbox that the word apple will appear with the word Juice for example. So the textbox after one checked checkbox will be: apple apple juice apple pie (after the seconed checked checkbox) Okay, now I think I see what you are asking. While you could concatenate new text onto the old text like this... TextBox1.Text = TextBox1 & vbCrLf & "Next Line" it is more efficient to use the SelText property instead like this... TextBox1.SelStart = Len(TextBox1.Text) TextBox1.SelText = vbCrLf & "Juice" A word about that first line. If, and this is a big if, the user can possibly move the text cursor before you add your next line, then you need it (because the new text is placed wherever the text cursor is located at). On the other hand, if you were adding your text in a loop, you can omit it. By the way, you can seed the TextBox with its first line by using the Text property (you have to start somewhere<g). Rick |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
NickHK, thanks for your reply.
Can you explain how to do it with a Listbox? Eli "NickHK" wrote: Something like: TextBox1.value=TextBox1.value & " juice" But that is the same line Or do you mean: TextBox1.value=TextBox1.value & vbnewline & "juice" So what happens when the user uncheck that CheckBox ? Seems that a ListBox would be more appropriate for your needs. NickHK "???" wrote in message ... Rick, Before one of the checkboxes are checked the textbox has one line, with for example the word - apple. I am asking about the creation of new line inside the textbox that the word apple will appear with the word Juice for example. So the textbox after one checked checkbox will be: apple apple juice apple pie (after the seconed checked checkbox) Eli "Rick Rothstein (MVP - VB)" wrote: I have simple userform with one multiline textbox and 6 checkboxes. My problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). Copy the "textbox value" to a new line? Where is this new line going? Did you, perhaps, mean to type "copy the CheckBox Caption property to the bottom of the TextBox? If not, I think you will need to clarify what is being copied and to where. Rick |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Can you explain how to do it with a Listbox?
ListBox1.AddItem "Apple" ListBox1.AddItem "Juice" Rick |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Here's one way, but whether is suitable depends on what the user needs to do
and what you intend to do after. Private Sub UserForm_Initialize() With ListBox1 .AddItem "Apple" End With End Sub Private Sub CheckBox1_Click() If CheckBox1.Value = True Then AddToList ListBox1, CheckBox1.Caption Else RemoveFromList ListBox1, CheckBox1.Caption End If End Sub Private Sub CheckBox2_Click() If CheckBox2.Value = True Then AddToList ListBox1, CheckBox2.Caption Else RemoveFromList ListBox1, CheckBox2.Caption End If End Sub Private Function AddToList(WhichList As MSForms.ListBox, WhichText As String) As Boolean With WhichList .AddItem .List(0) & " " & WhichText End With End Function Private Function RemoveFromList(WhichList As MSForms.ListBox, WhichText As String) As Boolean Dim i As Long With WhichList For i = 1 To .ListCount - 1 If .List(i) = .List(0) & " " & WhichText Then .RemoveItem i Exit Function End If Next End With End Function NickHK "???" wrote in message ... NickHK, thanks for your reply. Can you explain how to do it with a Listbox? Eli "NickHK" wrote: Something like: TextBox1.value=TextBox1.value & " juice" But that is the same line Or do you mean: TextBox1.value=TextBox1.value & vbnewline & "juice" So what happens when the user uncheck that CheckBox ? Seems that a ListBox would be more appropriate for your needs. NickHK "???" wrote in message ... Rick, Before one of the checkboxes are checked the textbox has one line, with for example the word - apple. I am asking about the creation of new line inside the textbox that the word apple will appear with the word Juice for example. So the textbox after one checked checkbox will be: apple apple juice apple pie (after the seconed checked checkbox) Eli "Rick Rothstein (MVP - VB)" wrote: I have simple userform with one multiline textbox and 6 checkboxes. My problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). Copy the "textbox value" to a new line? Where is this new line going? Did you, perhaps, mean to type "copy the CheckBox Caption property to the bottom of the TextBox? If not, I think you will need to clarify what is being copied and to where. Rick |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
NickHK and Rick
You solved my problem Thanks a lot!!! "Rick Rothstein (MVP - VB)" wrote: I have simple userform with one multiline textbox and 6 checkboxes. My problem is how to make that checking a checkbox will copy the textbox value to a new line without deleting the upper line. I tried various things but I cant avoid the deletion of the upper line (especialy in the case of more then one checked checkbox). Copy the "textbox value" to a new line? Where is this new line going? Did you, perhaps, mean to type "copy the CheckBox Caption property to the bottom of the TextBox? If not, I think you will need to clarify what is being copied and to where. Before one of the checkboxes are checked the textbox has one line, with for example the word - apple. I am asking about the creation of new line inside the textbox that the word apple will appear with the word Juice for example. So the textbox after one checked checkbox will be: apple apple juice apple pie (after the seconed checked checkbox) Okay, now I think I see what you are asking. While you could concatenate new text onto the old text like this... TextBox1.Text = TextBox1 & vbCrLf & "Next Line" it is more efficient to use the SelText property instead like this... TextBox1.SelStart = Len(TextBox1.Text) TextBox1.SelText = vbCrLf & "Juice" A word about that first line. If, and this is a big if, the user can possibly move the text cursor before you add your next line, then you need it (because the new text is placed wherever the text cursor is located at). On the other hand, if you were adding your text in a loop, you can omit it. By the way, you can seed the TextBox with its first line by using the Text property (you have to start somewhere<g). Rick |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Textbox and multiline text | Excel Worksheet Functions | |||
Multiline textbox for data entry | Excel Programming | |||
Userform Textbox multiline Vs format in worksheet | Excel Programming | |||
UserForm; Textbox; Multiline; NonPrintable Characters | Excel Programming | |||
Multiline textbox.. Can you have multiple font colors within? | Excel Programming |