I am trying to make a dynamic piece of code that takes data from one database(based on size to determine which piece of data) and places it in another sheet in a row that is determined by the last row data is on already. This breaks in the Set = Email_Database portion of the loop. Any advice?

    Sub Email_Copy()
        Dim Data As Worksheet
            Set Data = ActiveWorkbook.Sheets("Data")
        Dim Email_Database As Worksheet
            Set Email_Database = ActiveWorkbook.Sheets("Email Database")
        Dim Number_Of_Emails As Integer
             Number_Of_Emails = Data.Range("L6002").Value
        Dim Total_Emails As Integer
             Total_Emails = Email_Database.Range("D2").Value
        Dim X As Long
        
        
        For X = 1 To Number_Of_Emails
        
            Set Email_Database.Range("B3").Offset(Number_Of_Emails) = Data.Range("D3").Offset(Total_Emails)
    
    
        Next X
    
    
    
    
    End Sub