Hi bnageshrao,
In order to properly deal with your challenge, I needed to develop a working model which I am prepared to email you once you provide your email address.
For any others who might also benefit from this sample model, I am also prepared to email you a copy of this Excel file. My email address is: dwatson@bsi.gov.mb.ca (repeated at the bottom of this response).
The file is called "Sixty Groups_Random Selection.xls", and has 3 sheets.
The first sheet (called "DB"

contains the sample database, above which is a brief explanation of the function of the file, along with a button named "Extract Specified Group's Records to "Random_Data" sheet. Also on this sheet is a cell labelled "Group Number" - for the user to specify the Group to extract, and "Percent of Group" - for the user to specify the percent of the Group's records to include. Finally, on the first sheet, there is a button, attached to which is VBA code which performs the following:
1) extracts the Group's data to the following sheet (called "Random_Numbers"
2) The code then creates RANDOM numbers using Excel's "RAND" function. These random numbers are used to create a set of criteria (called "rand_crit"

which is used to extract the Group's RANDOM-selected records to the third sheet (called "Random_Data"

.
Included in the code and worksheet are routines/formulas which test for DUPLICATE random numbers, to ensure the Random numbers extracted do NOT contain any duplicates.
For those who might like to "scan" the code, I will provide it ...next. But for FULL appreciation, you should really view the actual file.
Regards, ...Dale Watson dwatson@bsi.gov.mb.ca
============
Code follows:
============
Option Explicit
Dim numtofill As Double
Dim startnum As Double
Dim lastrow As String
Dim startcell As String
Dim sourcecells As Range
Dim fillcells As Range
Dim fillrange As Range
Dim endcell As String
Dim cnt As Double
Dim ext_records As Double
Dim rand_nums As Range
Dim randnums As Variant
Dim exist As Double
Dim numrows As Variant
Dim randcr As Variant
Sub Main_Routine()
Application.ScreenUpdating = False
Extract_Group_Data
Extract_Random_Numbers
Set_Rand_Crit
Extract_Random_Data
Worksheets("Random_Data"

.Select
Range("A1"

.Select
Application.ScreenUpdating = True
End Sub
Sub Extract_Group_Data()
Range("data"

.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:="crit", _
CopyToRange:=Range("ext_out"

, _
Unique:=False
End Sub
Sub Extract_Random_Numbers()
Worksheets("Random_Numbers"

.Range("random_numbers"

.ClearContents ' delete existing random numbers
Worksheets("Random_Numbers"

.Select
Range("RandCr_top"

.Select
ActiveCell.offset(1, 0).Select
Range("RandCr_top"

.Select
ActiveCell.offset(1, 0).Select
Create_Random_Numbers
End Sub
Sub Create_Random_Numbers()
ext_records = Worksheets("Random_Numbers"

.Range("NumToExt"

cnt = 0
For cnt = 1 To ext_records
Range("RandNum"

= Range("RandNumForm"

ActiveCell = Worksheets("Random_Numbers"

.Range("RandNum"

ActiveCell.offset(1, 0).Select
If Worksheets("Random_Numbers"

.Range("existnum"

> 1 Then 'ensures no duplicate numbers
cnt = cnt - 1
ActiveCell.offset(-1, 0).Select
End If
Next
End Sub
Sub Set_Rand_Crit()
Worksheets("Random_Numbers"

.Select
Range("RandCr_top"

.Select
startcell = ActiveCell.Address
numrows = Range("NumToExt"

ActiveCell.offset(numrows, 0).Select
endcell = ActiveCell.Address
randcr = startcell & ":" & endcell
Range(randcr).Name = "rand_crit"
End Sub
Sub Extract_Random_Data()
Range("ext_random"

.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:="rand_crit", _
CopyToRange:=Range("rand_data_out"

, _
Unique:=False
End Sub
===========
End of Code
===========