• ベストアンサー

F8のステップインで実行するとエラーになるマクロ(オブジェクトの挿入)

こんばんは。 また質問させてください。 エクセル2003です。 Sub 挿入_ラベル() ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1").Select End Sub このコードをF8のステップインをしながら実行すると 「中断モードでは入力できません。」となります。 普通にF5の実行なら問題なくできます。 なぜF8だとエラーになるのでしょうか? オブジェクト関係だからですか?

  • bmgjtu
  • お礼率99% (478/479)

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

試してみたところ、この現象は、自ブックで置きますが、他のブックでは置きませんでした。 表示されたダイアログのヘルプボタンを押してみましたが、難解で理解できません。 中断モードでは、プロジェクトが変更ができないということのようです。

bmgjtu
質問者

お礼

そうなんですか。私も試してみます。 ありがとうございます。

関連するQ&A

  • ステップインで実行しても中断させない方法を教えてく

    エクセルでOLEObjectを削除するコードを、 ブレークポイントを設置して実行すると、 デバッグモードでやると「中断モードでは入力できません」となります。 (エクセル2007です) 例えば、 Sub オブジェクト削除() ActiveSheet.OLEObjects.Delete Selection.Value = "a" End Sub で、「Selection.Value = "a"」の部分にブレークポイントを設置して、 F8で一行ずつ実行していこうとすると画像のようになります。 なぜなのでしょうか? 今サンプルで提示したコードは短いのでいいのですが 実際のコードはもっと長いので、 ステップインでコードの動きを見ていきたいのですが ActiveSheet.OLEObjects.Delete の部分で、エラーになってしまいます。 その際、「継続」と「終了」のどちらを選んでもOLEObjectsは削除されます。 「終了」の場合はその次のコードの、 Selection.Value = "a" は実行されません。 ブレークポイントを設置せず、F5で一気に実行する場合はエラーになりません。 コードの中に、 ActiveSheet.OLEObjects.Delete があってもステップインで実行しても中断させない方法を教えてください。

  • エクセルーマクローコマンドボタン表示を消す方法

    エクセルーマクローコマンドボタン表示を消す方法 下記マクロを書いて実行したところ、シートにコマンドボタンというのが付着しました。ファイルを上書きしたので、取れなくなりました。ボタンを消す操作はどうすればいいか。 Sub Macro2() ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _ , DisplayAsIcon:=False, Left:=300, Top:=200, Width:=94.5, Height:=25).Select End Sub

  • F8でステップインするとエラーになる理由

    F5だとエラーにならないのに、F8でステップインするとエラーになる理由を教えてください。 わざとエラーを発生させているのですが、 Option Explicit Sub test() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Quit '敢えて閉じる objIE.Navigate "http://www.ocn.ne.jp/" End Sub のコードを、F5で一気に実行するとエラーになりませんが、 F8で1行ずつ実行すると、 「実行時エラー'-2147417848(80010108)' :オートメーションエラーです。 起動されたオブジェクトは、そのクライアントから切断されました。」 になります。 なぜF5だとエラーにならないのでしょうか? それが不思議です。

  • オブジェクト名をVBAで指定する方法を教えてくださ

    VBAでワークシートにOLEObjectsのコマンドボタンを設置してるのですが ボタンのオブジェクト名をVBAで指定するにはどうすればいいでしょうか? Private Sub CommandButton1_Click() With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False) .Object.Name = "ボタン1" .Object.Caption = "ボタン" .Object.Font.Size = 9 .Width = ActiveCell.Width .Height = ActiveCell.Height End With End Sub を実行すると、 .Object.Name = "ボタン1" の部分で 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)」というエラーになります。 他のコードは大丈夫です。 オブジェクト名をVBAで指定する方法を教えてください。 当方エクセル2003です。

  • イメージコントロールに画像をセット

    イメージコントロールに画像をセットしたいのですが、下記ではうまく動きません。 どうしたらよいでしょうか。 Private Sub Workbook_Open() ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _ DisplayAsIcon:=False, Left:=137.25, Top:=20.25, Width:=270, Height:= _ 154.5).Select Worksheets("Sheet1").Image1.Picture = LoadPicture("D:\My doc\My Pictures\11.jpg") End Sub

  • マクロが実行しない

     二行三列を一枡として月の勤務割表を作成しています。マクロで同じ事を しているのにMacro1の方が実行しません。お教え願えませんでしょうか。 (尚、図形を枠線上にコピペしています。) Sub Macro1()実行しません。 Dim i As Integer Dim j As Integer For i = 10 To 43 Step 2 For j = 10 To 103 Step 3 Select Case Cells(i, j).Value Case 1: ActiveSheet.Shapes("四角形1").Select Selection.Copy Cells(i + 1, j + 1).Select ActiveSheet.Paste End Select Next Next End Sub Sub Macro2()実行します。 ActiveSheet.Shapes.Range(Array("四角形1")).Select Selection.Copy Range("J11:K11").Select ActiveSheet.Paste End Sub

  • ご教授ください。

    こんにちは。 MS Office (Excel)で、下記のソースがネット上で公開されていたのですが、細かいコマンドの意味がわからないので、解説頂けないでしょうか? <以下がソースです> Sub コンボボックス作成() Dim i As Integer For i = 1 To 20 Cells(i, 1) = "リスト" & i Next ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=Cells(1, 4).Left, Top:=0, _ Width:=120, Height:=24).Select With Selection .ListFillRange = "A1:A20" .Object.ListRows = 20 .Object.Font.Size = 32 End With Application.CommandBars("Control Toolbox").Visible = False Range("C1").Select End Sub 出来れば1行ずつ解説頂けるとありがたいです。 宜しくお願い致します。

  • OLEObjects ステップイン 削除できない

    シート上のOLEObjectsを削除するべく、 ActiveSheet.OLEObjects.Delete と言うコードをステップインで実行しようとすると、 「中断モードでは入力できません」 となりますが、OLEObjectsは削除されます。 結局は削除されるからいいのですが、 ステップインで実行していきたい時は、どうすればいいのでしょうか? そもそもなぜデバッグモードで、OLEObjectsの削除ができないのでしょうか? エクセル側に何か不都合があるのですか?

  • Excel VBA 動的に作成したチェックボックスにイベントを追加したい

    http://oshiete1.goo.ne.jp/qa504573.html を参考にしたのですがエラーが出ます。 ------標準モジュール------- Dim NewChkBox As New Class1 Sub main() Dim oObj As OLEObject Set oObj = ActiveSheet.OLEObjects.Add(classtype:="forms.checkbox.1") oObj.Top = 10 oObj.Left = 10 NewChkBox.cb = oObj Set oObj = Nothing End Sub ---------クラスモジュール-------- Public WithEvents cb As Checkbox Private Sub cb_Click() MsgBox "You clicked the checkbox." End Sub 実行すると、 「オブジェクトはオートメーションイベントを発生させることができません。」 というエラーメッセージが出ます。 OLEObjectで作成したコントロールに イベントを追加するにはどのようにしたら良いのでしょうか?

  • マクロ実行時にエラーが出てしまいます

    マクロを記録し、それを実行しようとしたのですが、途中で下記のようなエラーが出てしまいます。 実行時エラー '1004': PivotTableクラスのPivotFieldsプロパティを取得できません。 黄色い矢印がとまっているのは下記の箇所です。 →With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("送付先")← 自分なりに調べてみたのですが、選択範囲("E2:E1288"等の箇所)が違うデータでマクロを実行するとエラーになるのだと思っているのですが、選択範囲が毎回変わるのに対応できるコードの変更の仕方が分かりません。 もしよろしければ、アドバイスを頂けませんでしょうか。 コードの全体は下記になります。 Sheets("本体").Select Range("E1").Select ActiveCell.FormulaR1C1 = "品目分け" Range("E2").Select ActiveCell.FormulaR1C1 = "=LEFT(RC[-2],1)" Range("E2").Select Selection.AutoFill Destination:=Range("E2:E1288") Range("E2:E1288").Select Sheets("計算結果").Select ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,SourceData:= _ "本体!C1:C5").CreatePivotTable TableDestination:="[計算用.xls]計算結果!R3C1", _ TableName:="ピボットテーブル", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTables("ピボットテーブル").ColumnGrand = False With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("送付先") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("品目分け") .Orientation = xlColumnField .Position = 1 End With Range("E4").Select ActiveSheet.PivotTables("ピボットテーブル").AddDataField ActiveSheet.PivotTables( _"ピボットテーブル").PivotFields("数量"), "データの個数 / 数量", xlCount ActiveSheet.PivotTables("ピボットテーブル").PivotFields("データの個数/ 数量").Function = _xlSum With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("品目分け") .PivotItems("(空白)").Visible = False End With Range("A1").Select End Sub

専門家に質問してみよう