![]() |
Creating sequential variables on the fly
I'm working on a spreadsheet where I need to find out how many entries I'll
need, then create sequentially-named variables for each of them in a VBA subroutine. (For example, I may need 0-6 variables. If I find out I need 3 variables, then VariableCount = 3 and I'll want to name the variables Variable1, Variable2 and Variable3.) This means that I want to Dim the variables then fill them in. I feel comfortable with figuring out how to do that part...my question is much simpler. What is the syntax for appending a variable value onto the end of a variable name to create a sequence of variables? I've tried a number of things, and none have worked. I'm probably missing something basic yet again. |
Creating sequential variables on the fly
Your best bet is to create a class module, and store instances of
that class in a Collection object. Dim C As Class1 Dim Coll As New Collection For N = 1 To NumVariables Set C = New Class1 Coll.Add C Next N The class module can be as simple as Public X As Integer -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "ForestRamsey" wrote in message ... I'm working on a spreadsheet where I need to find out how many entries I'll need, then create sequentially-named variables for each of them in a VBA subroutine. (For example, I may need 0-6 variables. If I find out I need 3 variables, then VariableCount = 3 and I'll want to name the variables Variable1, Variable2 and Variable3.) This means that I want to Dim the variables then fill them in. I feel comfortable with figuring out how to do that part...my question is much simpler. What is the syntax for appending a variable value onto the end of a variable name to create a sequence of variables? I've tried a number of things, and none have worked. I'm probably missing something basic yet again. |
Creating sequential variables on the fly
Thanks for the response. It looks like I have a whole new area to learn in
VBA. I can see what tomorrow's reading will be. Thanks again! - Forest "Chip Pearson" wrote: Your best bet is to create a class module, and store instances of that class in a Collection object. Dim C As Class1 Dim Coll As New Collection For N = 1 To NumVariables Set C = New Class1 Coll.Add C Next N The class module can be as simple as Public X As Integer -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "ForestRamsey" wrote in message ... I'm working on a spreadsheet where I need to find out how many entries I'll need, then create sequentially-named variables for each of them in a VBA subroutine. (For example, I may need 0-6 variables. If I find out I need 3 variables, then VariableCount = 3 and I'll want to name the variables Variable1, Variable2 and Variable3.) This means that I want to Dim the variables then fill them in. I feel comfortable with figuring out how to do that part...my question is much simpler. What is the syntax for appending a variable value onto the end of a variable name to create a sequence of variables? I've tried a number of things, and none have worked. I'm probably missing something basic yet again. |
Creating sequential variables on the fly
Forest,
Are you asking about Arrays ? Dim MyVar( ) As String 'Or whatever data type you want to use ReDim MyVar(2) MyVar(0)="Variable0" 'Or whatever value you want to store '...etc Above assumes you are working with "normal" array bounds and have not set "Option Base 1". So you would get 3 elements to array. NickHK "ForestRamsey" wrote in message ... I'm working on a spreadsheet where I need to find out how many entries I'll need, then create sequentially-named variables for each of them in a VBA subroutine. (For example, I may need 0-6 variables. If I find out I need 3 variables, then VariableCount = 3 and I'll want to name the variables Variable1, Variable2 and Variable3.) This means that I want to Dim the variables then fill them in. I feel comfortable with figuring out how to do that part...my question is much simpler. What is the syntax for appending a variable value onto the end of a variable name to create a sequence of variables? I've tried a number of things, and none have worked. I'm probably missing something basic yet again. |
All times are GMT +1. The time now is 02:58 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com