
マクロ初心者です。
フィルタオプションをマクロに登録しました。
検索範囲はマクロを登録したときの表の範囲(A5:Q50)になっていますが
データは毎日増えるため(A5:Q10000)に変更して抽出自体はうまくいきましたが、
リストで最終行に金額の合計を出しているのですがそれが表示されなくなります。
抽出時の最終データでフィルタオプションを実行するマクロをするにはどうしたらよいでしょうか?
質問がわかりにくくてすみません。
フィルタオプションの部分のマクロは下記です。
よろしくお願いいたします。
Range("A5:Q10000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:B3"), Unique:=False
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
>リストで最終行に金額の合計を出しているのですがそれが表示されなくなります。
数式までを、フィルタオプションが取り込んでしまうわけです。それで、いろいろ考えてみました。合計値の位置は常に変るものだという前提で、数式がない場合は、数式を加えるようにしてみました。
'なるべく標準モジュールがよいと思います。
'-------------------------------------------
Sub FilterOptionUsed()
Dim LastRow As Long
Dim iFlg As Integer
Application.ScreenUpdating = False
LastRow = Range("A65536").End(xlUp).Row
If Cells(LastRow, 1).HasFormula Then
iFlg = 1
End If
With Range(Cells(5, 1), Cells(LastRow - iFlg, 17))
.AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=Range("A1:B3"), _
Unique:=False
If iFlg <> 1 Then
.Rows(.Rows.Count + 1).FormulaLocal = "=SUBTOTAL(9,R5C:R[-1]C)"
End If
End With
Application.ScreenUpdating = True
End Sub
こんな方法しかないかなって、今思っています。
No.2
- 回答日時:
こんにちは。
ということは集計行の一行上までを範囲にすればいいわけですから次のようにします。
---------------------------------------------
Sub test()
Dim LastRow As Long
LastRow = Range("A65536").End(xlUp).Row - 1
Range("A5:Q" & LastRow").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:B3"), Unique:=False
End Sub
------------------------------------------------
Range("A65536").End(xlUp).Row でリストの(A列の)最終行が求められます。
以上です。
taocat様
出来ました、感謝です。
質問が初めてでどう聞いていいかわからない私の未熟な文面を理解してくださって本当に助かりました。
ありがとうございました。
No.1
- 回答日時:
>リストで最終行に金額の合計を出しているのですがそれが表示されなくなります。
最終行にもフィルタがかかって表示されないのだと思います。
先頭行の前か、最終行の次の行に合計(SUBTOTAL())を入れるのが普通だと思います。
この回答への補足
早速お返事ありがとうございます。
リストの機能なので自動的に最終行にSUBTOTALが入って合計してくれています。
フィルタオプションの検索範囲指定のときにデータの最終行をきちんと指定すれば大丈夫なのです。(手動ならば大丈夫です)
マクロでフィルタオプションを登録すると登録時のデータの範囲が記録されてしまうので、追加したデータにフィルタオプションがかからない状態になってしますのです。
うまく説明できなくてすみません。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのオートフィルタで最...
-
エクセルでオートフィルタのボ...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
Excelで、ブック中すべてのシー...
-
エクセルにて、フィルタをかけ...
-
今日の日付のデータをすばやく...
-
なぜShowAllDataだとうまく行か...
-
エクセルで隔週をもとめる
-
【Excel2000】開始日と終了日か...
-
Excelで文字を入力と自動的にフ...
-
Excelオートフィルターで絞り込...
-
オートフィルタで3つ以上の条...
-
オートフィルターで一つずつ抽...
-
(EXCEL)オートフィルタで折りた...
-
オートフィルタで未入力(空白...
-
エクセルのオートフィルタで抽...
-
オートフィルタを見出し行選択...
-
Excel VBAのオートフィルタ解除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
オートフィルタで3つ以上の条...
-
access マクロでのフィルタの...
-
エクセル関数で、数字の入った...
-
エクセルのオートフィルタで困...
-
スプレッドシートのチェックボ...
-
可視セルを対象としたcountifが...
-
データの抽出を教えてください
-
エクセルで隔週をもとめる
-
オートフィルタで未入力(空白...
-
エクセルにて、フィルタをかけ...
-
Excel共有ブックのオートフィル...
-
エクセルで検索窓のようなもの...
-
VBA オートフィルタで抽出した...
-
【EXCEL】条件に一致した最新デ...
-
エクセル、オートフィルタで最...
おすすめ情報