Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm trying to set up an array of labels on a form at runtime.
The size of the array is determined from a textbox input at the top of the form. The sort of thing I want is like a blank crossword grid, where I can adjust the caption in each label later to be 1 letter. I've tried to copy a label and then paste it, but VBA doesn't allow this. Has anyone any suggestions on how to achieve this? TIA Henry |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try something like the following. Change the various properties
to meet your needs. Dim Ctrl As MSForms.Control Set Ctrl = UserForm1.Controls.Add("Forms.Label.1", "Label1", True) Ctrl.Height = 10 Ctrl.Width = 10 Ctrl.Top = 10 Ctrl.Left = 10 Ctrl.Caption = "A" UserForm1.Show -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Henry" wrote in message ... I'm trying to set up an array of labels on a form at runtime. The size of the array is determined from a textbox input at the top of the form. The sort of thing I want is like a blank crossword grid, where I can adjust the caption in each label later to be 1 letter. I've tried to copy a label and then paste it, but VBA doesn't allow this. Has anyone any suggestions on how to achieve this? TIA Henry |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Chip,
The Label takes on the default colours of the form. All I need now is to change the backcolor, forecolor and border for it to be as I want. (White, Black and a black border) I cannot seem to change them from VBA like a normal Label. Henry "Chip Pearson" wrote in message ... Try something like the following. Change the various properties to meet your needs. Dim Ctrl As MSForms.Control Set Ctrl = UserForm1.Controls.Add("Forms.Label.1", "Label1", True) Ctrl.Height = 10 Ctrl.Width = 10 Ctrl.Top = 10 Ctrl.Left = 10 Ctrl.Caption = "A" UserForm1.Show -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Henry" wrote in message ... I'm trying to set up an array of labels on a form at runtime. The size of the array is determined from a textbox input at the top of the form. The sort of thing I want is like a blank crossword grid, where I can adjust the caption in each label later to be 1 letter. I've tried to copy a label and then paste it, but VBA doesn't allow this. Has anyone any suggestions on how to achieve this? TIA Henry |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Use the ForeColor and BackColor properties of the Ctrl object.
Ctrl.ForeColor = RGB(0, 0, 0) Ctrl.BackColor = RGB(255, 255, 255) -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Henry" wrote in message ... Thanks Chip, The Label takes on the default colours of the form. All I need now is to change the backcolor, forecolor and border for it to be as I want. (White, Black and a black border) I cannot seem to change them from VBA like a normal Label. Henry "Chip Pearson" wrote in message ... Try something like the following. Change the various properties to meet your needs. Dim Ctrl As MSForms.Control Set Ctrl = UserForm1.Controls.Add("Forms.Label.1", "Label1", True) Ctrl.Height = 10 Ctrl.Width = 10 Ctrl.Top = 10 Ctrl.Left = 10 Ctrl.Caption = "A" UserForm1.Show -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Henry" wrote in message ... I'm trying to set up an array of labels on a form at runtime. The size of the array is determined from a textbox input at the top of the form. The sort of thing I want is like a blank crossword grid, where I can adjust the caption in each label later to be 1 letter. I've tried to copy a label and then paste it, but VBA doesn't allow this. Has anyone any suggestions on how to achieve this? TIA Henry |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Chip,
Now working fine. Henry "Chip Pearson" wrote in message ... Use the ForeColor and BackColor properties of the Ctrl object. Ctrl.ForeColor = RGB(0, 0, 0) Ctrl.BackColor = RGB(255, 255, 255) -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Henry" wrote in message ... Thanks Chip, The Label takes on the default colours of the form. All I need now is to change the backcolor, forecolor and border for it to be as I want. (White, Black and a black border) I cannot seem to change them from VBA like a normal Label. Henry "Chip Pearson" wrote in message ... Try something like the following. Change the various properties to meet your needs. Dim Ctrl As MSForms.Control Set Ctrl = UserForm1.Controls.Add("Forms.Label.1", "Label1", True) Ctrl.Height = 10 Ctrl.Width = 10 Ctrl.Top = 10 Ctrl.Left = 10 Ctrl.Caption = "A" UserForm1.Show -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Henry" wrote in message ... I'm trying to set up an array of labels on a form at runtime. The size of the array is determined from a textbox input at the top of the form. The sort of thing I want is like a blank crossword grid, where I can adjust the caption in each label later to be 1 letter. I've tried to copy a label and then paste it, but VBA doesn't allow this. Has anyone any suggestions on how to achieve this? TIA Henry |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm not sure I understand your problem... but you can try to fill in the
textbox_change() event with some code to do the rest... "Henry" a écrit dans le message de news: ... I'm trying to set up an array of labels on a form at runtime. The size of the array is determined from a textbox input at the top of the form. The sort of thing I want is like a blank crossword grid, where I can adjust the caption in each label later to be 1 letter. I've tried to copy a label and then paste it, but VBA doesn't allow this. Has anyone any suggestions on how to achieve this? TIA Henry |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Using For/Next Loop To Generate 4 CommandButtons On A UserForm Results In A Runtime Error 91 | Excel Programming | |||
Vertical Alignment of text in Userform labels | Excel Programming | |||
Common format for Labels in Userform | Excel Programming | |||
Add pictures to UserForm at runtime | Excel Programming | |||
add multiple checkboxes to userform at runtime | Excel Programming |