BayerHealthCare has agreed a deal to buy vitamins and supplements firm Schiff Nutrition for $1.2 billion.