Forum Discussion

Andy Johnston's avatar
Andy Johnston
Copper Contributor
Sep 15, 2017
Solved

RowSource Syntax in a Form ComboBox

I am using the following successfully to validate a form combo box [using the "RowSource" parameter] against a table on a work sheet with a single column :-

LookupData!Table_Query_from_harglive9

Does anybody know how to alter this to specify a specific column when the Table has more than one column. Either defining Column number or Name to be used. Tried numerous syntax but none work.

EG LookupData!Table_Query_from_harglive9[Column Name] etc.

[Apologies if duplicated but last post seems to have disappeared]

Many thanks.

 

  • Generally speaking using the RowSource to fill a combobox on a userform is frowned upon. I always write the data to the combobox using the List property directly, e.g.:
    ComboBox1.List = Worksheets("YourSheet").Range("TheNamedRange").Value
    Note that it is also a good idea to name the range you are intending to use as the rowsource.

4 Replies

  • JKPieterse's avatar
    JKPieterse
    Silver Contributor
    Generally speaking using the RowSource to fill a combobox on a userform is frowned upon. I always write the data to the combobox using the List property directly, e.g.:
    ComboBox1.List = Worksheets("YourSheet").Range("TheNamedRange").Value
    Note that it is also a good idea to name the range you are intending to use as the rowsource.
    • Andy Johnston's avatar
      Andy Johnston
      Copper Contributor

      Many thanks for the information Jan.

       

      Your solution works well.

       

      Just to point out I got it working like you implied, by naming the table column and then refering to this in the "RowSource" property. Can you explain why using the "Row Source" is frowned upon, as opposed to your method.

       

      Thanks Again Andy.

      • JKPieterse's avatar
        JKPieterse
        Silver Contributor
        Because it is
        a. Unstable (i've seen problems with userforms using the rowsource)
        b. Error prone (the rowsource property does not change when you insert or delete cells).
        Inserting and deleting cells will only keep working if you use a range name as those adjust themselves.

Resources