I'm new to VBA code. Attempting to Fill values for filtered range in a particular column ("M") and below code is attempted
Dim prg_type As String
Dim header_name As String
Dim MyColumnNumber As Integer
Dim aCell As Range
Dim i As Integer
Dim c As Excel.Range
For i = 1 To 7
    header_name = ActiveWorkbook.Worksheets("Execution").Cells(i + 3, 2).Text
    prg_type = ActiveWorkbook.Worksheets("Execution").Cells(i + 3, 3).Text
    
    Sheets("Raw Data").Select
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.AutoFilter
    
    Set aCell = ActiveWorkbook.Worksheets("Raw Data").Rows(1).Find(What:="program_type", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
    MyColumnNumber = aCell.Column
    ActiveSheet. Range("$A$1:$M$300000").AutoFilter Field:=MyColumnNumber, Criteria1:="="
    
    Set aCell = ActiveWorkbook.Worksheets("Raw Data").Rows(1).Find(What:=header_name, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
    MyColumnNumber = aCell.Column
    ActiveSheet.Range("$A$1:$M$300000").AutoFilter Field:=MyColumnNumber, Criteria1:="1"
    For Each c In Range("M2:M" & Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible)
        If c.Offset(, -1).Value = vbNullString Then Exit For
        c.Value = prg_type
    Next
 
    ActiveWorkbook.Worksheets("Raw Data").AutoFilterMode = False
    ActiveWorkbook.Worksheets("Raw Data").Range("A1").Select
        
Next i
Since I'm using for loop, It's executing for ever for just 25K rows of data. Can I know better way to handle?
 
    