In this paper, we investigate spectrum-power trading between a small cell (SC) and a macro cell (MC), where the SC consumes power to serve the macro cell users (MUs) in exchange for some bandwidth from the MC. Our goal is to maximize the system energy efficiency (EE) of the SC while guaranteeing the quality of service of each MU as well as small cell users (SUs). Specifically, given the minimum data rate requirement and the bandwidth provided by the MC, the SC jointly optimizes MU selection, bandwidth allocation, and power allocation while guaranteeing its own minimum required system data rate. The problem is challenging due to the binary MU selection variables and the fractionalform objective function. We first show that the bandwidth of an MU is shared with at most one SU in the SC. Then, for a given MU selection, the optimal bandwidth and power allocation is obtained by exploiting the fractional programming. To perform MU selection, we first introduce the concept of the trading EE to characterize the data rate obtained as well as the power consumed for serving an MU. We then reveal a sufficient and necessary condition for serving an MU without considering the total power constraint and the minimum data rate constraint: the trading EE of the MU should be higher than the system EE of the SC. Based on this insight, we propose a low complexity MU selection method and also investigate the optimality condition. Simulation results verify our theoretical findings and demonstrate that the proposed resource allocation achieves near-optimal performance.