Sub RoasPercentageGenerator()
    Dim lastrow As Long
    lastrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
        
    For i = 3 To lastrow
        If Sheet1.Cells(i, 2) > 50 And Not IsEmpty(Sheet1.Cells(i, 184)) Then
            Sheet2.Cells(i, 1) = Sheet1.Cells(i, 1)
            Sheet2.Cells(i, 2) = Application.WorksheetFunction.SumIf(Sheet1.Range(Cells(2, 3), Cells(2, 25)), "Ad Revenue", Sheet1.Range(Cells(i, 3), Cells(i, 25)))
        End If
    Next i
End Sub
            Asked
            
        
        
            Active
            
        
            Viewed 39 times
        
    0
            
            
         
    
    
        Raymond Wu
        
- 3,357
- 2
- 7
- 20
 
    
    
        Ömer Kadıoğlu
        
- 131
- 7
- 
                    I think you supposed to tell us what's wrong..? Other than missing declaration for `i`, there's no compile error. – Raymond Wu Dec 01 '21 at 10:03
- 
                    1You need to qualify the `Cells` properties with the same sheet as the enclosing `Range` property. – Rory Dec 01 '21 at 10:04
- 
                    The error that pops up is "Method 'Range' of object '_Worksheet' failed". Would be glad if you can tell me what to do specifically since I am quite new to VBA. – Ömer Kadıoğlu Dec 01 '21 at 10:12
- 
                    1`Sheet2.Cells(i, 2) = ... Sheet1.Range(Cells(2, 3),Cells(2, 25))... Sheet1.Range(Cells(i, 3),Cells(i, 25)))` needs to be fully qualified. So something like `Sheet2.Cells(i, 2) = ... Sheet1.Range(Sheet1.Cells(2, 3),Sheet1.Cells(2, 25))... Sheet1.Range(Sheet1.Cells(i, 3),Sheet1.Cells(i, 25)))` @ÖmerKadıoğlu – Raymond Wu Dec 01 '21 at 10:26
- 
                    @RaymondWu I thank you from the bottom of my heart – Ömer Kadıoğlu Dec 01 '21 at 11:00