Fill curve betwen specified abscissa points

I am guessing you want to do something like

Manipulate[
 Column[{Row[{With[{a = a, b = b}, HoldForm[Integrate[f[u] /. subs, {u, a, b}]]], 
             Integrate[f[u] /. subs, {u, a, b}]}, "  =  "], 
             Plot[{ConditionalExpression[f[u] /. subs, a <= u <= b], f[u] /. subs}, 
             {u, 0, 5000}, PlotRange -> All, 
             Filling -> {1 -> Axis}, ImageSize -> 400]}],
 {a, 0, 5000}, {b, 0, 5000}]

Note: You can also use

Piecewise[{{f[u], a <= u <= b}}, Indeterminate] /. subs

or

Boole[a <= u <= b] f[u]/.subs

instead of ConditionalExpression[f[u] /. subs, a <= u <= b].

enter image description here

See also: this answer to a related Q/A


you can also try UnitStep

Manipulate[
 Plot[{f[u] /. subs, 
   f[u] UnitStep[u - a] UnitStep[b - u] /. subs}, {u, 0, 5000}, 
  PlotRange -> All, Filling -> {2 -> Axis}, 
  Epilog -> {PointSize[Large], 
    Point[{{a, f[a] /. subs}, {b, f[b] /. subs}}]}] , {a, 0, 
  4000}, {b, 100, 4000}]

enter image description here