After a summer of speculation, the Dutch international will join the Bundesliga and arrived at Veltins-Arena Friday after passing a medical, according to ESPN.
The Catalans have a glut in their midfield and manager Tito Vilanova could not find the playing time for the 26-year-old on the first team. The move could free up time for Barcelona's newest signing, midfielder Alex Song, who has yet to make an appearance this season.
Schalke already has midfielders Lewis Holtby and Julian Draxler, but Afellay is expected to compete for regular time on the pitch.
Afellay started his career with PSV, making 159 appearances and netted 35 goals from 2004 to 2010. Barcelona picked him up in January 2011, but he made only 20 appearances as he missed most of last season with a knee injury.