Macro buscar texto expecifico y copiar según condición
Estoy trabajando en un archivo que necesito una macro y no llego a solucionarlo, solicito en la medida de lo posible vuestra colaboración la macro que necesito es la siguiente:
Tengo una hoja llamada "PRESUPUESTO FINAL" y en la columna B a partir de la fila 7 una serie de textos -Capítulo, Partida, y quiero que valla recoriendo la columna hasta que encuentre alguna palabra especifica (Capítulo, Partida) y según la palabra que encuentre se valla a la hoja llamada "MODULO INSERCIÓN1" si encuentra "Capítulo" el rango a copiar es H4:EG4, y lo pega en la misma fila que encontro la palabra apartir de la columna H de LA HOJA "PRESUPUESTO FINAL" y asi sucesivamente, si encuentra la palabra "Partida" el rango a copiar de la hoja llamada "MODULO INSERCIÓN1" es H7:EG4 y lo pega en la misma fila que encontro la palabra apartir de la columna H de la hoja "PRESUPUESTO FINAL" y si al recorrer la columna "B" se encuentra una celda en blanco el rango a copiar de la joha llamada "MODULO INSERCIÓN1" es H9:EG9, he intentado hacer algo pero no tengo el suficiente conocimiento.
Sub Copiar_Rango_Capitulo()
Application.ScreenUpdating = False
'selecciona rango b2
Sheets("PRESUPUESTO FINAL").Select
Range("B7").Select
'inicia bucle hasta que se encuentre una celda en blanco
Do While ActiveCell <> ""
'condición en la que decimos que si se encuentra el nombre oscar copie
'desde esa celda hasta las 5 columnas siguientes
If ActiveCell = "Capítulo" Then
Sheets("MODULO INSERCIÓN1").Select
Range("H4").Select
ActiveCell.Select
Range(ActiveCell, ActiveCell.Offset(0, 130)).Select
Selection.Copy
Sheets("PRESUPUESTO FINAL").Select
'countult = Cells(Rows.Count, 8).End(xlUp).Offset(1, 0).RowHeight = 20.25
'MsgBox countult
'Cells(Rows.Count, 8).End(xlUp).Offset(1, 0).Select
Range("h7").Select
'inicia otro bucle para encontrar una celda en blanco para pergar el contenido copiado anteriormente
Do While ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.Paste
End If
Sheets("PRESUPUESTO FINAL").Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub