今日はVBAで30分はまりました。
以下の行の「msoTextOrientationHorizontal」で「変数が定義されていません」というエラーが出るのです。他にも「mso〜」のところで同様のエラーが。
ActiveSheets.Shapes.AddLabel(msoTextOrientationHorizontal, p.X1 + 1, p.Y1, p.X1, p.Y1)
msoというプレフィクスが付いた定数はOffice用にMicrosoftが定義しているもののようです。「自分で定義しておいて変数とは何事?」と思い、Excelでマクロ記録をしてみても、同様に「msoTextOrientationHorizontal」というソースを生成します。。。
色々調べた結果、「参照設定」の「Microsoft Office XX.X Object Library」のチェックが外れていたことが原因でした。これにチェックを入れることでエラーはなくなりました。
なぜ、チェックが外れたのかわかりませんが。。。30分無駄になりました。意味不明なエラーが出たらチェックしてみてください。