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]
.
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}]