View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Susan Susan is offline
external usenet poster
 
Posts: 1,117
Default Create Userform from Worksheet

ps - some of the reason you were having trouble calling the form is
that "active document" is a WORD command, not excel.
you must've stolen the coding off a word document. :)
susan


On Oct 23, 8:57*am, "caveman.savant" wrote:
Thanks.
Still having problem calling a new form.
i found the following code but the AActiveDocument.VBProject part
fails

Sub BuildMyForm()
* *Set mynewform = _
* * * ActiveDocument.VBProject.VBComponents.Add(vbext_ct _MSForm)
* * * With mynewform
* * * * *.Properties("Height") = 246
* * * * *.Properties("Width") = 616
* * * * *.Name = "HelloWord"
* * * * *.Properties("Caption") = "This is a test"
* * * End With
End Sub

On Oct 22, 9:00*am, redeagle
wrote:



Hi caveman.savant-


You should be able to do what you want. *The basic algorithm would be to
loop through your selection with a For/Each (For Each cell in Selection....)
to get the value of each cell. *Then you could declare and instanciate a
userform and the controls. *Once everything is defined you could display the
form.


Something like:


Sub Main()


Dim myCell as Variant
Dim myLabel as Label


'Declare and instantiate new Userform and set properties
Dim uf As UserForm
Set uf = New UserForm
uf.Caption = "my dynamic form"


For Each myCell in Selection
* Set myLabel = New Label
* myLabel.Caption = myCell
* uf.Controls.Add myLabel
Next


'Finally display your form
uf.Show


End Sub


... my syntax may not be right, but that is the idea.


John


"caveman.savant" wrote:
I'm not sure this can be done with VBA.
I would like to create a macro that would allow me to select a group
of cells from a worksheet and convert that selection into a userform.


starting with
* * ActiveCell.Offset(-3, -1).Range("A1:E4").Select


The 1st row and 1st Column would be Labels, so I would loop thru and
use the text to use for each caption.


The rest of the cells would become a textbox for numerical data.
Beside each textbox could be a spinner to select a value for the box.


Once the form is created I'd like an option to save it. Otherwise I
would use the dynamically created form to input data and return it the
the originally selected cells


Can Excel Macros create UserForms?
Anyone with an idea how to start?- Hide quoted text -


- Show quoted text -