Finding a Necessary Condition for Convergence of Subsequences 
Let $\{a_n\}$ be a sequence of positive real numbers such that the sum $\sum a_n$ converges. What condition is necessary and sufficient to ensure that, for any positive real number $r$, less than $\sum a_n$, there is a subsequence $\{a_{n_k}\}$ such that $\sum a_{n_k}  $ converges to $r$?

I have found what I think to be a necessary condition, but I am unsure if it alone is sufficient.
(Possible) Solution via contrapositive: 
Given the above, assume there exists some positive $r<a$ such that no subsequence $A_k=\{a_{n_k}\}$ exists, whose infinite sum $\sum a_{n_k}$ converges to $r$. For ease, let  $S_k=\{s_{n_k}\}$ be the sequence of partial sums of some $A_k$ and $S=\{S_k\}$ the set of all sequences of partial sums of the $A_k$. Thus, stated in these terms, it follows there is no $s \in S$, such that $$s \to r.$$ This means there exists a real number $p>0$, such that, if $x \in N_p(r)$, then $x\neq a_{m_1} +a_{m_2}+\cdots +a_{m_n}$.
(Attempted) Explicit Construction:
Assume, now, that for any $r<a$ and any $\epsilon_m>0$, there exists a finite sum of elements $s_{l_m}=\displaystyle \sum_{k=l_1}^{l_m}a_k$ such that $s_{l_m} \in (r -\epsilon_m, r)$.
Given this, and since $a_n \to 0$, then, for any $0<\epsilon_{m+1}<\min \{a_k ,\epsilon_m\}$, we can find $a_{l_{m+1}}$ such that 
$$a_ {l_{m+1}} < \epsilon_{m+1}<\epsilon_m.$$
Thus, we get
$$r- \epsilon_m < s_{l_m} < s_{l_m} + a_ {l_{m+1}} <s_{l_m} + \epsilon_{m+1}<r.$$
Next, being careful with our selection of $\epsilon_{m+2}$, 
$$r- \epsilon_m <s_{l_m} + a_ {l_{m+1}} + a_ {l_{m+2}} <r.$$
We can continue this process indefinitely. The sequence $\{s_ {l_{m+n}}\}$ of partial sums defined by $$s_ {l_{m+n}} =\displaystyle \sum_{k=l_1}^{l_{m+n}}a_k$$ is increasing and bounded above by $r$, and so it converges to some number $l\leq r$. If $l=r$, we are done. If $l<r$, then there exists a subsequence $\{a_{n_m}\} $ of $S$ such that:  
$$r- \epsilon_m <\sum a_{n_m} < r.$$
At this point, it seems tempting to say, since $\epsilon_m$ was chosen arbitrarily, the result follows, but since each choice of $\epsilon_m$ give a unique finite sum $s_ {l_{m+n}} =\displaystyle \sum_{k=l_1}^{l_{m+n}}a_k$, this doesn’t seem like a simple limiting process.
Could I use the theorem which states that the set of subsequential limits of a sequence $\{p_n\}$ form a closed subset? Or is this line of reasoning completely off track?
 A: Assuming that $(a_n)$ is a decreasing positive summable sequence, the following equivalence holds : you can write all positive reals less than $\sum a_n$ as sums of subsequences of $(a_n)$ if and only if for all $n$, $a_n \le \sum\limits_{k > n} a_k$.
$ $
Remark: your problem essentially boils down to this one (where we assume $(a_n)$ is decreasing), because as the sequence is summable, we can reorder it as we please without changing the sums.

Proof: let us assume that there exists $n$ such that $a_n > \sum\limits_{k>n}$. Consider $B \subset \mathbb{N}$. If $B$ contains an integer $\le n$, then $\sum\limits_{k\in B} a_k \ge a_n$, and otherwise, $\sum\limits_{k\in B} \le \sum\limits_{k>n}a_k$. Hence no real in $\big]\sum\limits_{k>n}a_k,\ a_n\big[$ can be written as the sum of a subsequence of $(a_n)$.
$ $
Conversely, assume that for all $n$, $a_n \le \sum\limits_{k>n}a_k$. Take $x \in \big[0,\sum\limits_k a_k\big]$. Define $n_0 := \min \{k\in\mathbb{N} \ |\ a_k < x\}$, and for all $p \ge 0$, $n_{p+1}:=\min\{k>n_p\ |\ \sum\limits_{i=0}^p a_{n_i} + a_k < x\}$. We prove by induction that for any $p \ge 0$, $x - \sum\limits_{i > n_{p+1}} a_i \le \sum\limits_{i=0}^p a_{n_i} < x$. 


*

*Base case if $n_0=0$, we are just saying that $x \le \sum\limits_{i\ge 0}a_i$. Otherwise, the definition gives us $x \le a_{n_0-1}$, so using our hypothesis, $x \le \sum\limits_{i\ge n_0}a_i$, and we are done.

*Inductive step assume it to hold for some $p\ge 0$. The right inequality obviously holds. Then, if $n_{p+1}=n_p+1$, the right inequality is the same, but just adding $a_{n_{p+1}}$. Otherwise, the definition gives us $x \le \sum\limits_{i=0}^p a_{n_i} + a_{n_{p+1}-1}$, and thus $x \le \sum\limits_{i=0}^p a_{n_i} + \sum\limits_{j\ge n_{p+1}}a_j$, which is the right inequality.
Finally, as $n_p \underset{p\to\infty}{\longrightarrow}\infty$, the lower bound goes to $x$ and thus $\sum\limits_i a_{n_i}=x$.
