• 締切済み

エクセルのマクロ実行→オブジェクトがはみでるエラーについて

エクセルでマクロを作り、実行したのですが、データを集計し「2」で集約する部分で「オブジェクトからはみでます」というエラーがでます。原因がわかりません。正しく実行できる方法を教えてください。 Selection.Subtotal GroupBy:=2, Function:=xlSum, TotalList:=Array(3, 4, 5, 6, _ 7, 8, 10, 13), Replace:=True, PageBreaks:=False, SummaryBelowData:=False Range("D2").Select   ↓この部分でエラーになります。 ActiveSheet.Outline.ShowLevels RowLevels:=2 Range("A2").Select Selection.Insert Shift:=xlDown Range("P2:R2").Select Selection.Insert Shift:=xlDown Range("B1").Select Selection.SpecialCells(xlCellTypeVisible).Select Selection.Copy

みんなの回答

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.3

ぁあ、すみません。もう1つ、非表示オブジェクトの可能性がありました。 問題のシートをActiveSheetにして下記コードを試してみてください。 Sub try()   With ActiveSheet.DrawingObjects     If .Count = 0 Then       MsgBox "nothing"     Else       .Visible = True       .Select     End If   End With End Sub でも結果"nothing"だったら思い当たる事はもうありません。 データ部分のみ新規シートに移し直したほうが手っ取り早いと思います。

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.2

>その方法は、すでに試し済みでオブジェクトがありませんとでました。 >他に原因があるのでしょうか? あら、そうでしたか^ ^; では、コメントはどうでしょう? 『シート上に、コメントやシェイプなどのオブジェクトがあり...』 と書きましたが、同じように[ジャンプ]機能で確認できます。 これも済みでしたら申し訳ないですがちょっとわかりませんm(_ _)m

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 シート上に、コメントやシェイプなどのオブジェクトがあり、その[オブジェクトの位置関係] が [セルに合わせて移動やサイズを変更しない] や [セルに合わせて移動するがサイズ変更はしない] に 設定されていると、 オブジェクトの位置によっては、その現象が発生するようです。 [XL2002] 列の非表示でエラーが発生するケースについて http://support.microsoft.com/kb/410998/ja 確認方法として。 [ctrl]キーと[g]キーの同時押し、[ジャンプ]機能のウィンドウが開きます。 [セル選択]クリック、[オブジェクト]にチェックして[OK]クリックすると全オブジェクトが選択できます。 後は[tab]キーを押していくと順次フォーカスしていきます。 シートの下のほうに、オブジェクトがあれば、それを優先的に調べてみましょう。 必要ないものなら、削除すれば良いです。

roywood
質問者

お礼

ご返答ありがとうございました。 その方法は、すでに試し済みでオブジェクトがありませんとでました。 他に原因があるのでしょうか?

関連するQ&A

  • エクセル VBA 集計方法

    各シート毎に下記の内容にて集計をしたいのですが、A2のセルにデータがない場合集計をしない方法がわからないのでご存じの方宜しくお願い致します。 Sheets("Sheet1").Select Range("A1:P62").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(16), _ Replace:=True, PageBreaks:=False, SummaryBelowData:=True Sheets("Sheet2").Select Range("A1:P62").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(16), _ Replace:=True, PageBreaks:=False, SummaryBelowData:=True Sheets("Sheet3").Select Range("A1:P62").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(16), _ Replace:=True, PageBreaks:=False, SummaryBelowData:=True End Sub

  • VBAマクロエラー【オーバーフローしました。】

    以下のVBAマクロで突然エラーが出るようになってしまいました。 原因がわからず困っています。 どなたかご教授ください。 該当部分 :S = Range("B2").End(xlDown).Row エラーMrg:実行時エラー'6': オーバーフローしました ----------マクロ文---------- Sub 部担コード読み替え() Dim R_Count As Integer Dim P_Sheet As String Dim S As Integer 'データ取込用のファイルを開く Workbooks(D_Book).Activate Sheets("Data1").Select Columns("C:C").Select Selection.Insert Shift:=xlToRight Range("B2").Select S = Range("B2").End(xlDown).Row Range("C2:C" & S).Formula = "=SUBSTITUTE(SUBSTITUTE(RC[-1],""%"",""1""),""*"",""2"")" Range("C1").Value = "部担コード" Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Columns("B:B").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Range("A1").Select Sheets("Data2").Select Columns("C:C").Select Selection.Insert Shift:=xlToRight Range("B2").Select S = Range("B2").End(xlDown).Row Range("C2:C" & S).Formula = "=SUBSTITUTE(SUBSTITUTE(RC[-1],""%"",""1""),""*"",""2"")" Range("C1").Value = "部担コード" Columns("G:G").Select Selection.Insert Shift:=xlToRight Range("G2:G" & S).Formula = "=SUBSTITUTE(SUBSTITUTE(RC[-1],""%"",""1""),""*"",""2"")" Range("G1").Value = "キー" Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Columns("B:B").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Columns("E:E").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Range("A1").Select End Sub

  • 行を挿入するマクロがうまくいきません。

    Sheets("りんご").Select Rows("1:1").Select Selection.Copy Sheets("みかん").Select Range("人").Select Selection.Insert Shift:=xlDown Application.CutCopyMode = False End Sub というマクロは、りんごのシートにある1行をコピーして、 みかんのシートの人と名前定義してある特定の行にコピーする マクロです。この次に下のマクロを実行すると Sheets("りんご").Select Rows("2:3").Select Selection.Copy Sheets("みかん").Select Range("人").Select Selection.Insert Shift:=xlDown それまでのものが残ってしまい、行がどんどん増えていってしまいます。 いずれかのマクロを実行すればリセットされて行が増えないように コピーするにはどうすればよいでしょうか・・?

  • このマクロ、何をしているのかわかりますか?

    ' Rows("1:1").Select Selection.Insert Shift:=xlDown Range("A1").Select ActiveSheet.PasteSpecial Format:="テキスト", Link:=False, DisplayAsIcon:= _ False Range("A1:A37").Select Selection.Copy Range("S1").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True Columns("A:A").Select Application.CutCopyMode = False Selection.ClearContents Range("A1").Select End Sub わかる方 お願いいたします!

  • EXCELのマクロについて

    お世話になっております。 以下のマクロを1万行分繰り返したいのですが、回数を1万回と指定する構文を 教えてください。よろしくお願いします。 Sub Macro16() ' ' Macro16 Macro ' ' Keyboard Shortcut: Ctrl+Shift+Z ' ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.Offset(-1, 0).Range("A1:M1").Select Selection.Copy ActiveCell.Offset(1, 0).Range("A1").Select ActiveSheet.Paste ActiveCell.Offset(-1, 2).Range("A1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "7/5/1905" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "7/6/1905" ActiveCell.Offset(1, -2).Range("A1").Select End Sub

  • 'Cells'メソッドは失敗しました '_Global'オブジェクト

    次のマクロですが、順調に動いていたと思うと 急にタイトルのエラーで落ちたりします。 Set mySh = Thisworkbook.Sheets("Sheet1") Debug.Print mySh.Cells(1,1) また、そのときは・・・ mySh.Rows("4:4").Select Selection.Insert Shift:=xlDown や mySh.Select Rows("4:4").Insert Shift:=xlDown や mySh.Rows("4:4").Insert Shift:=xlDown もできなくなります。 オブジェクトへの参照方法が今ひとつわかっていないのですが、 どの場合でもエラーなく実行するにはどうすればいいのでしょうか?

  • マクロ 可視セルへコピーする方法

    こんにちは。よろしくお願いします。 A~V列、300~400行程度の表を作っています。 8行目をコピーして空白行へペーストしたいのですがどのようにすれば良いでしょうか。 マクロの記録でつくったものは ActiveSheet.Paste でエラーになります。 またペースト開始行をA17ではなくて可変なものに変えたいです。 よろしくお願いします。 Sub 下までコピー() Range("A8:V8").Select Selection.Copy Selection.AutoFilter Field:=2, Criteria1:="=" Range("A17:V" & Range("B5").End(xlDown).Row).Select Selection.SpecialCells(xlCellTypeVisible).Select ActiveSheet.Paste Application.CutCopyMode = False Selection.AutoFilter Field:=2 End Sub

  • エクセルのマクロ

    こんばんは、宜しくお願いします。 エクセルで行を挿入し前行の数式をコピーするマクロの記録を行ったのが下記の内容です。 Sub Sounyu() ' ' Sounyu Macro ' Rows("4:4").Select Selection.Insert Shift:=xlDown Range("B3:C3").Select Selection.AutoFill Destination:=Range("F3:F4"), Type:=xlFillDefault Range("F3:F4").Select Range("G3").Select Selection.AutoFill Destination:=Range("G3:G4"), Type:=xlFillDefault Range("G3:G4").Select Range("A2").Select End Sub 最後の Range("A2").Selectを挿入した行のAのセルへ カーソルがいくようにするにはどのように変更したら 良いのでしょうか? 教えてください。

  • エクセルマクロ実行中に固まります

    単純処理を連発させているのですが、最後まで実行されず、 途中で固まってしまいます。こういう場合はどのように 対処したらよいのでしょうか? VBAに埋め込むとよいコードなどあれば教えてください。 コードのひとかたまりは下記のようなものです。 これを100連発ほどさせます。 Range("D4:K4").Select       ...計算式がはいっています Selection.Copy Range("D5:K16").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False

  • マクロでエクセルの行を準に削除したいのですが…(;_;)

    エクセルのマクロを使って Range("D3:E3").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp Range("D4:E4").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp という風に3000個ほど順番に消していきたいのですがfor...nextを使うと for I = 3 to 3000   Range("DI:EI").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp nest I となってこれを実行するとDIのセルに飛んでしまいます。どうしたらいいのですか?教えて下さいお願いしますm(_ _)m

専門家に質問してみよう