I am somewhat of a novice VBA user and I have created a workbook that has a Userform with several tabs. When the user selects the appropriate tab and inputs data it gets transferred to the applicable worksheet. I have a command button on a worksheet that when clicked it prompts for a date range and then I want it to extract the transferred data from each applicable worksheet and place it onto separate new worksheets for each user (because everyone's data is different). The below VBA code I have compiled is not processing correctly. Instead it only pulls data from one worksheet and puts it on all of the new individual worksheets.
Sub Copy_Click() Dim startdate As Date, enddate As Date Dim rng As Range, destRow As Long Dim shtSrc1 As Worksheet Dim shtSrc2 As Worksheet Dim shtSrc3 As Worksheet Dim shtDest1 As Worksheet Dim shtDest2 As Worksheet Dim shtDest3 As Worksheet Dim c As Range Set shtSrc1 = Sheets("Recruiter") Set shtSrc2 = Sheets("SrRecruiter") Set shtSrc3 = Sheets("RecruiterSpc") Set shtDest1 = Sheets("Extract_Recrt") Set shtDest2 = Sheets("Extract_SrRecrt") Set shtDest3 = Sheets("Extract_RecrtSpc") destRow = 2 'start copying to this row startdate = CDate(InputBox("Input desired start date for report data")) enddate = CDate(InputBox("Input desired end date for report data")) 'don't scan the entire column... Set rng = Application.Intersect(shtSrc1.Range("A:A"), shtSrc1.UsedRange) Set rng = Application.Intersect(shtSrc2.Range("A:A"), shtSrc2.UsedRange) Set rng = Application.Intersect(shtSrc3.Range("A:A"), shtSrc3.UsedRange) For Each c In rng.Cells If c.Value >= startdate And c.Value <= enddate Then c.Offset(0, 0).Resize(1, 25).Copy _ shtDest1.Cells(destRow, 1) c.Offset(0, 0).Resize(1, 25).Copy _ shtDest2.Cells(destRow, 1) c.Offset(0, 0).Resize(1, 25).Copy _ shtDest3.Cells(destRow, 1) destRow = destRow + 1 End If Next End Sub Can anyone please show me what I'm doing wrong and how to fix it.