Hi Shahnaz,
I was busy at a meeting, so am just now able to respond.
Here's some info that might cause you to believe that creating the MANY range names might be a reasonable alternative after all.
I appreciate that creating many range names can be a "chore", but I'd like to suggest that the process can be "sped up". If you do it by using VBA, you could copy several lines, and make changes to the names on each line.
In a test I just wrote, based on the following example - but where there were 100 names per sheet (a total of 300 range names), the length of time it took was: UNDER 1 SECOND.
Sub Create_Names()
Application.ScreenUpdating = False
Names_Sheet1
Names_Sheet2
Names_Sheet3
Application.ScreenUpdating = True
End Sub
Sub Names_Sheet1()
Worksheets("Sheet1"

.Range("C4"

.Name = "sh1_1"
Worksheets("Sheet1"

.Range("C5"

.Name = "sh1_2"
Worksheets("Sheet1"

.Range("D10"

.Name = "sh1_3"
End Sub
Sub Names_Sheet2()
Worksheets("Sheet2"

.Range("C4"

.Name = "sh2_1"
Worksheets("Sheet2"

.Range("C5"

.Name = "sh2_2"
Worksheets("Sheet2"

.Range("D10"

.Name = "sh2_3"
End Sub
Sub Names_Sheet3()
Worksheets("Sheet3"

.Range("C4"

.Name = "sh3_1"
Worksheets("Sheet3"

.Range("C5"

.Name = "sh3_2"
Worksheets("Sheet3"

.Range("D10"

.Name = "sh3_3"
End Sub
==============================
Appreciate that creating the above range names is a "one-time-only" task. Once you've created the range names for these cells (that your code will later be filling with a link formula), you won't need to create them again.
An "ideal attraction" of using range names, is that any future changes you make such as inserting/deleting rows/columns, or moving data, will cause the named cells to adjust "automatically".
The only changes required will be IF and WHEN you want to add ADDITIONAL link-formulas. You would then manually create a range name for each cell where a NEW link formula is to reside, and modify your code that creates your user-input sheet, to include code for the creation of a range name for the input cell (to which the link-formula will reference).
The next two routines are examples of code to merge within your existing code after it creates your user-input worksheet.
Sub Set_InputNames()
Range("C4"

.Name = "inp_1"
Range("D4"

.Name = "inp_2"
Range("J4"

.Name = "inp_3"
End Sub
Sub Set_Links()
[inp_1].Formula = "=sh1_1"
[inp_2].Formula = "=sh1_2"
[inp_3].Formula = "=sh1_3"
End Sub
(Note that when you use range names in VBA ...e.g. [inp_1] above, you don't have to use the Sheet name - and your active sheet can be anywhere within the workbook)
Here's another "tip" regarding another "easy and fast" method of creating range names...
If you already have labels that identify data, or if you don't but choose to enter labels next to the cells where you want to create multiple names, you can do so ALL-AT-ONCE.
First, appreciate that where you want to create names for a range of contiguous cells, you could enter the labels by using Excel's auto-fill. For example enter: inp_1 in the first cell, and inp_2 in the second cell. Then highlight both cells and click-and-drag the bottom-right-corner of the second cell - and drag down for as many labels as you require. Of course the same could be done horizontally on one row.
To create the range names for your block of labels "all-at-once", use these steps:
1) Highlight the labels and the column to the right of the labels.
2) Use the menu: Insert - Name - Create
3) In the "Create Names" window, un-check any options that don't apply, and check-off "Left column". (Or if you've entered labels to the right of the cells where you want the names created, then check off "Right column".)
4) Click "OK", and the names are created.
An "added benefit" of using this method, is that IF your list of labels happens to contain a name you created previously (in a different location), then Excel will present a window with the question: "Replace existing definition of..." ?, with Yes/No/Cancel buttons.
If want to assign range names where the names are "dispersed", but you have labels on the left side of the cells, you can use this method...
a) Highlight the cell that you want to name - i.e. the cell to the right of the cell containing the label.
b) Hold down <Control> and hit <F3> .
c) At this point, you'll notice the name is automatically "picked up" so you don't have to type the name. Simply hit <Enter>.
I hope this info helps.
Regards, ...Dale Watson dwatson@bsi.gov.mb.ca