
No.6ベストアンサー
- 回答日時:
> 早速試したところ、「コンパイルエラー」「名前付き引数が見つかりません。
」とでてきました。なるほど、VBEのバージョンが・・ってことでしょうか。
では、記録したものを支障無い範囲でマージ。
Sub Macro1()
'
' Macro1 Macro 改
' マクロ記録日 : 2012/10/29 ユーザー名 : *****
'
'
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(3), _
Replace:=True, PageBreaks:=True, SummaryBelowData:=True
Cells.Find(What:="総計", LookAt:=xlPart).Activate
Selection.EntireRow.Delete
Range("A1").Select
End Sub
これでどうでしょう。
できなかったら・・さっきの私の回答の手順で記録して試してみてくださいませ。
No.5
- 回答日時:
横入り失礼します。
> 省力化のためマクロの自動記録機能を考えておりました。
> (マクロに詳しくないので自動記録です。)
踏まえまして
> 総計も一緒に印刷されてしまいます。
> 総計の行を印刷(表示)されないようにしたいのですが・・・
の部分を「総計行を行削除したら良い」と言う発想で記録しました。
A1~C2000にデータが、A列に集計の単位(グループの基準)、
C列に集計するフィールド(合計)を持っているとして、やったことは順番に
・A列で昇順ソート(念のため)
・シートの先頭(A1セル)にフォーカス移動
(ソートした後の範囲選択状態を解除したかったので)
・集計(A列基準・C列合計)
・検索機能(Ctrl+F)で、“総計”と言う文字列を含むセルにフォーカス移動
・選択されたセルを含む行全体を削除
・A1セルにフォーカス移動(なんとなくですが)
以上です。
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2012/10/29 ユーザー名 : *****
'
'
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal
Range("A1").Select
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(3), _
Replace:=True, PageBreaks:=True, SummaryBelowData:=True
Cells.Find(What:="総計", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate
Selection.EntireRow.Delete
Range("A1").Select
End Sub
処理ごとに改行を入れていますが、それ以外は基本的に録ったままです。
記録したのは2003ですから、列数の考慮は必要でしょうが、
2000でも同じような記録がそちらでもできるはずです。
参考までにどうぞ。
この回答への補足
アドバイスありがとうございます。
早速試したところ、「コンパイルエラー」「名前付き引数が見つかりません。」とでてきました。
DataOption1:= のところが反転しています。
こちらで試したエクセルファイルはA1~c200で下記のようなファイルです。
受注番号商品名数量
123aaa2
123bbb4
-------------
156ccc4
No.4
- 回答日時:
マクロで行うつもりなら、マクロに総計行を削除させてしまった方が後腐れなくていいです。
たとえば「A列を基準にC列を合計で集計する」みたいなのをマクロの記録すると、だいたいこんなカンジのが録れます。(集計するまでのマクロは、このご相談とは全く無関係なのでフォローはしません)
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2012/10/28 ユーザー名 :
'
'
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(3), _
Replace:=True, PageBreaks:=True, SummaryBelowData:=True
End Sub
この続きに「グループ列で最終行を調べ、その行を消去する」と書き足します。
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2012/10/28 ユーザー名 :
'
'
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(3), _
Replace:=True, PageBreaks:=True, SummaryBelowData:=True
range("A65536").end(xlup).entirerow.delete
End Sub
>もう少し分かりやすくご説明いただけませんでしょうか?
先の回答でお話しした通り、あなたの表の具体的なレイアウトの情報が何もないので、これ以上詳しいご説明はできません。
回答を見ながら実際にエクセルを動かし、ご自分の手を動かしてみて、それでも出来なかったのでしょうか。
いずれにしてもマクロにやらせてしまえば、面倒な事はしなくてすみます。
No.2
- 回答日時:
こんにちは。
集計の操作を行った時に、総計行をそもそも挿入「させない」方法はありません。
総計行は要らないということなら、総計の行を単純に選んでDeleteキーで消してしてしまうのが、一番手っ取り早い方法です。
手を動かせないという事なら、あなたの表の具体的なレイアウトが判りませんので具体的な操作の手順は割愛しますが
方法1:推奨
条件付き書式を使い、グループの基準列に「総計」と記入されている行はフォントの色を白くして、目に見えないよう仕込みます
方法2:
集計を挿入した後、表全体を選択して「印刷範囲の設定」を行うと、名前の定義の中に「Print_Area」という名前が発生します
総計行はこの一番下の行なので、Print_Areaの名前定義で一行減らした表範囲を自動計算させて与えてやれば、総計行だけ印刷範囲から除外して印刷させなくできます。
#流石にこれじゃ出来ないでしょうから
例えば表が一行目をタイトル行として2行目からぎっちり詰まっているとして
集計の操作後、印刷範囲の設定を行い、挿入メニューの名前で定義を確認してみると
名前 Print_Area
参照範囲 =Sheet1!$A$1:$I$122
などのようになっていたとして(122行目が今現在の総計行)
たとえばB列がグループの基準列で上から(1行目から)122行目まで空白なく詰まっているとして
名前の定義のダイアログボックスでPrint_Areaを選び
名前 Print_Area
参照範囲 =OFFSET(Sheet1!$A$1,0,NOW()*0,COUNTA(Sheet1!$B:$B)-1,9)
のように書き換えてOKします
アドバイスありがとうございます。
日々のデータを基に集計して、毎日印刷をしております。
省力化のためマクロの自動記録機能を考えておりました。
(マクロに詳しくないので自動記録です。)
表を作成した後になるべく手直しの手間が省ければと思い相談しました。
方法1はなるほど、と思いました。自動記録に組み入れて見ます。
方法2でお聞きしたいのですが、
最初のPrint_Areaで参照範囲 =Sheet1!$A$1:$I$122
となっているものを参照範囲 =OFFSET(Sheet1!$A$1,0,NOW()*0,COUNTA(Sheet1!$B:$B)-1,9)
と書き換えるとの部分が理解できませんでした。
もう少し分かりやすくご説明いただけませんでしょうか?
大変お手数をお掛けいたします。
No.1
- 回答日時:
エクセル2000を使用していないので具体的な操作手順はわかりませんが
回答が付かないのでおじやまします。
考え方としては
その1
総計行以外の部分を選択して、印刷対象の指定を「選択した部分」にして印刷する。
その2
印刷する時のみ、総計行の文字色を用紙と同じ色「白」などにして印刷する。
更にスマートな回答が出ることをいのります。
アドバイスありがとうございます。
日々のデータを基に集計して、毎日印刷をしております。
省力化のためマクロの自動記録機能を考えておりました。
(マクロに詳しくないので自動記録です。)
表を作成した後になるべく手直しの手間が省ければと思い相談しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Word(ワード) エクセル→ワード差し込み印刷 1 2022/10/05 17:32
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
- プリンタ・スキャナー 印刷ができない 6 2022/04/01 20:47
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) エクセルの印刷マクロについて質問があります。 現在、下記のマクロで印刷しています。Sheet1のD6 5 2023/06/12 10:59
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- オープンソース OpenOffice Calc basic で印刷プレビューを表示する方法 1 2023/04/15 12:43
- Excel(エクセル) エクセルの罫線が印刷できない 4 2023/02/04 10:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
【関数】同じ関数なのに、エラ...
-
【画像あり】オートフィルター...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】【配列】3つのシー...
-
Office2021のエクセルで米国株...
-
vba テキストボックスとリフト...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
【マクロ】列を折りたたみ非表...
-
他のシートの検索
-
ページが変なふうに切れる
-
【マクロ】オートフィルターの...
-
【条件付き書式】シートの中で...
-
特定のセルだけ結果がおかしい...
-
【マクロ】左のブックと右のブ...
-
エクセル ドロップダウンリスト...
-
Excelに貼ったXのURLのリンク...
-
【マクロ】アクティブセルの時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報