The only way to directly obtain Celebi in HeartGold is through a giveaway at a Nintendo event. Celebi can be obtained without cheating through two indirect methods, however.
The easiest method to obtain Celebi without attending a Nintendo event is to trade with a player who has the Pok?mon. If that option is unavailable, however, the next easiest method would be to capture Celebi in Pok?mon Crystal, transfer it to one of the Game Boy Advance games, then transfer it from there to HeartGold by way of a Nintendo DS model with a Game Boy Advance cartridge slot.
Celebi can also be imported or traded into the game if the player has access to a copy of the Japanese version of Pok?mon Colosseum and the Japanese release of the Pok?mon Colosseum bonus disc. Versions of Pok?mon Colosseum and the bonus disc from regions other than Japan will not work. The player must first have purified all 48 Shadow Pok?mon in Pok?mon Colosseum in order to transfer Celebi to the Pok?mon Colosseum save file from the bonus disc. From there, Celebi can be imported to the Japanese versions of any of the Game Boy Advance Pok?mon games, and it can then be imported into HeartGold by way of any Nintendo DS model that has a Game Boy Advance cartridge slot.