Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13192 / 13644 ツリー ←次へ | 前へ→

【6551】オートフィルターについて けんちゃん(初心者) 03/7/8(火) 14:32 質問
【6555】Re:オートフィルターについて Jaka 03/7/8(火) 17:22 回答
【6571】Re:オートフィルターについて けんちゃん(初心者) 03/7/10(木) 21:25 質問
【6584】Re:オートフィルターについて Jaka 03/7/11(金) 15:31 回答
【6586】消し忘れ Jaka 03/7/11(金) 16:32 回答
【6601】ありがとうございました けんちゃん(初心者) 03/7/14(月) 14:36 お礼
【6603】オートフィルターについてまた質問です けんちゃん(初心者) 03/7/14(月) 15:19 質問
【6604】Re:オートフィルターについてまた質問です Jカーター 03/7/14(月) 16:37 回答
【6619】Re:オートフィルターについてまた質問です Jaka 03/7/15(火) 14:14 回答
【6621】Re:オートフィルターについてまた質問です けんちゃん(初心者) 03/7/15(火) 14:55 お礼

【6551】オートフィルターについて
質問  けんちゃん(初心者)  - 03/7/8(火) 14:32 -

引用なし
パスワード
   教えて下さい。

7/1 晴れ 単価 単価 単価 単価 平均値





合計   合計単価
平均   平均単価

このような表があります。
オートフィルターで7/1〜7/5までと表示させて、尚且つ
合計の行と平均の行を表示するにはどうしたらよいですか?

【6555】Re:オートフィルターについて
回答  Jaka  - 03/7/8(火) 17:22 -

引用なし
パスワード
   エクセル上でフィルタをかけなおすと不具合が出ます。
その際、一旦マクロで解除してください。

Sub フィルタ()
  re = Cells(Rows.Count, "A").End(xlUp).Row - 2
  ce = Cells(1, Columns.Count).End(xlToLeft).Column
  Application.ScreenUpdating = False
  Range("A1:A" & re).AutoFilter Field:=1, Criteria1:=">=7/1", Operator:=xlAnd, _
            Criteria2:="<=7/5"
  Application.ScreenUpdating = True
End Sub

Sub 解除()
re = Cells(Rows.Count, "A").End(xlUp).Row
Range("A" & re).AutoFilter
End Sub

【6571】Re:オートフィルターについて
質問  けんちゃん(初心者)  - 03/7/10(木) 21:25 -

引用なし
パスワード
   Jakaさん ありがとうございます。
合計と平均ができました!!
しかし、もう一つ問題が出てしまいまして・・・

合計と平均の行が月によって位置が一番下の行以外に
小計と言う欄がその月によって真ん中だったり、
適当な日にちの下だったりに存在しちゃうんです。
こう言う場合小計も表示したいんですけど。
何か良い方法ありますか??
決まった行に存在する訳では無いので困っています。
分かりにくい説明と面倒な質問ですみません・・・

【6584】Re:オートフィルターについて
回答  Jaka  - 03/7/11(金) 15:31 -

引用なし
パスワード
   こんなのかなぁ?(因みに97で作成)

Sub Macro11()
Dim spad As Range, cel As Range
On Error Resume Next
Application.ScreenUpdating = False
Range("A1").AutoFilter
Sheets("Sheet1").AutoFilterMode = False
AER = Range("A65536").End(xlUp).Row
Range("A1:A" & AER - 2).AutoFilter Field:=1, _
    Criteria1:=">=" & Range("I1").Text, Operator:=xlAnd, Criteria2:="<=" & Range("J1").Text
Set spad = Range("A2:A" & AER - 2).SpecialCells(xlCellTypeVisible)
Range("A" & AER).Offset(-1).Resize(1).EntireRow.Hidden = False
If InStr(1, spad.Address, ",") > 0 Then
  i = 0
  Do Until InStr(i + 1, spad.Address, ",") = 0
   i = InStr(i + 1, spad.Address, ",")
  Loop
  spsdst = Mid(spad.Address, i + 1)
End If
If InStr(1, spad.Address, ":") > 0 Then
  spsdst = Mid(spsdst, InStr(1, spsdst, ":") + 1)
End If
For Each cel In Range("A" & spad.Row & ":A" & Range(spsdst).Row)
  Range("C1").Value = cel.Value
  If cel.Value = "小計" Then
    cel.EntireRow.Hidden = False
  End If
Next
Application.ScreenUpdating = True
End Sub

【6586】消し忘れ
回答  Jaka  - 03/7/11(金) 16:32 -

引用なし
パスワード
   >For Each cel In Range("A" & spad.Row & ":A" & Range(spsdst).Row)
   ↓ 消し忘れました。   
>  Range("C1").Value = cel.Value

【6601】ありがとうございました
お礼  けんちゃん(初心者)  - 03/7/14(月) 14:36 -

引用なし
パスワード
   早速 実行してみました。
うまく動きました★

ありがとうございました。
返事が遅くなってしまってすみません。
またお願いします!!

【6603】オートフィルターについてまた質問です
質問  けんちゃん(初心者)  - 03/7/14(月) 15:19 -

引用なし
パスワード
   すみません・・・・・

オートフィルターをかけた後、合計の欄も一緒に表示するのでは無く。
フィルターをかけて表示された行の範囲だけ合計や平均を
出したい場合はどうすれば良いですか?
何か良い方法ありませんか?

【6604】Re:オートフィルターについてまた質問です
回答  Jカーター  - 03/7/14(月) 16:37 -

引用なし
パスワード
   こんにちは。
Subtotal関数を使ってみてはどうでしょう?
詳しくはヘルプをご覧ください。

違ったらすいません。

【6619】Re:オートフィルターについてまた質問です
回答  Jaka  - 03/7/15(火) 14:14 -

引用なし
パスワード
   >表示された行の範囲だけ合計や平均を出したい場合

これで表示されているD列の合計がわかりますから、
SCR = Range("D2:D" & AER - 2).SpecialCells(xlCellTypeVisible).Address
MsgBox Application.Evaluate("=Sum(" & SCR & ")")

下のコードに小計の部分を足しこんだコードを追加して、後で引くなり、小計以外をカウントして、最後にそれで割れば良いのではないのでしょうか?
For Each cel In Range("A" & spad.Row & ":A" & Range(spsdst).Row)
  Range("C1").Value = cel.Value
  If cel.Value = "小計" Then
    cel.EntireRow.Hidden = False
  End If
Next

元のデータを作りなおした方が良いと思うけど...。
では。

【6621】Re:オートフィルターについてまた質問です
お礼  けんちゃん(初心者)  - 03/7/15(火) 14:55 -

引用なし
パスワード
   私も元データを作り直した方が早いとはわかっているのですが・・・
なにぶん 会社のデータなので。
上司に文句も言えず・・・

毎回ありがとうございます。
またお願いします。

一応 完成に近づいております!!

13192 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free