• ベストアンサー

Excel2007 マクロが記録されない

Excel2007を使用しています。 Excelのオプション画面から、[開発]タブをリボンに表示するに チェックを入れています。 そこで質問です。 [開発]タブを選んで[マクロの記録]ボタンを押して 図形を貼り付け、文字色や配置を変更して、 [記録終了]ボタンを押下したのですが、何も記録されません。 OffceXPのときには、シェイプを張り付けるマクロや、 文字の色を変更するシェイプが記録されていたのですが。。。 何か設定が必要なのでしょうか? もし何か必要な手順がございましたら、教えて頂けませんか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

Excel2007では、図形オブジェクトの操作はマクロに記録されなくなりました。 『Excel 2007 新しい図形と図形書式と図形の効果を記録することができません。』 http://support.microsoft.com/kb/937620/ja 『the 2007 Microsoft Office system ― マクロの互換性について』 http://72.14.235.104/search?q=cache:Hn3ICeCoolsJ:download.microsoft.com/download/e/f/9/ef977b5f-3f45-47b7-beb4-475f5d49ed93/2007OfficCompatibility_20070730.doc Shapes については機能が色々と強化されたようですので、そのせいかもしれませんが、 マクロ記録できないのはちょっと不便ですね。 以前のバージョンを持っている方は、そちらで記録して参考にする事ができますが 2007しか持ってない方は、例えば Dim sp As Shape sp. ...などとし、表示される[プロパティ/メソッドの一覧]を参考に、 ヘルプやオブジェクトブラウザを駆使してコーディングしていく事になるようです。 他に、テキストボックス程度に限っての話ですが、 ビギナーの方の場合、【代替的に】フォームコントロールの操作を記録して、 それを参考にすると良いかもしれません。 [開発]タブの[コントロール]-[挿入]にある[フォームコントロール]です。 Sub Macro1() ' ' Macro1 Macro ' '   ActiveSheet.Buttons.Add(51.75, 28.5, 93, 25.5).Select   With Selection     .HorizontalAlignment = xlCenter     .VerticalAlignment = xlCenter     .ReadingOrder = xlContext     .Orientation = xlHorizontal     .AutoSize = True     .AddIndent = False   End With   Selection.ShapeRange.LockAspectRatio = msoFalse   Selection.ShapeRange.Height = 28.5   Selection.ShapeRange.Width = 105#   With Selection     .Locked = False     .LockedText = False   End With   With Selection     .Placement = xlFreeFloating     .PrintObject = True   End With   Selection.ShapeRange.TextFrame.MarginLeft = 7.09   Selection.ShapeRange.TextFrame.MarginRight = 7.09   Selection.ShapeRange.TextFrame.MarginTop = 3.69   Selection.ShapeRange.TextFrame.MarginBottom = 3.69   Selection.ShapeRange.AlternativeText = "a"   Selection.Characters.Text = "ボタン 1"   With Selection.Characters(Start:=1, Length:=5).Font     .Name = "MS Pゴシック"     .FontStyle = "標準"     .Size = 11     .Strikethrough = False     .Superscript = False     .Subscript = False     .OutlineFont = False     .Shadow = False     .Underline = xlUnderlineStyleNone     .ThemeColor = 2 '※     .TintAndShade = 0 '※     .ThemeFont = xlThemeFontNone '※   End With End Sub こんな感じで記録されますので、 ActiveSheet.Buttons.Add(......を ActiveSheet.TextBoxes.Add(......などのように修正したりする事で、雰囲気くらいは掴めるかもしれません。 #記録コードそのものなので、そのままではエラーになるプロパティもあります。(※)

rock123
質問者

お礼

記録できなくなったのですね。 とても残念ですね。 ご回答ありがとうございます。 とてもたすかりました。

関連するQ&A