[[20220330140218]] 『オートフィルタを上から順に選択したい』(VBAビギナー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートフィルタを上から順に選択したい』(VBAビギナー)

よろしくお願いします。

     A         B       C        D
1 
2

10
11   番号▽     単価▽     形式▽     製造元▽ココ
12    1        100      01MM      あああ
13    2        200      09MM      いいい

D11にオートフィルターが設定してあります。
D12以下100件ほど製造元が並んでいます。
オートフィルターを一個ずつ上から順に切り替えていますが、▽が小さく押しにくいのでVBAで同じことができませんか?

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 こんにちわ ^^
で
何をなさりたいので。。。今少し
具体的[例、請求書みたいに印刷する、目視で確認だけしたい、別シートに書き写す等等(#^^#)v]
にお示し賜れば、お手伝い
出来るかも
▽ボタンが小さいだけがお悩みでしたら
マクロ記録を使い作業をマクロ化して
おおおお〜〜〜〜きな図形を貼り付けて (^◇^)
それに、マクロ登録すればよいかと思います
m(_ _)m
(隠居Z) 2022/03/30(水) 15:16

オートフィルタをやめて

1)テーブルに設定
2)スライサーの挿入

これではだめですか

(マナ) 2022/03/30(水) 21:37


隠居Zさん、マナさん ありがとうございます。

隠居Zさん
目視で確認したです。
できればマクロ実行ボタンを押すと上から順にオートフィルタが切り替わるようなことができればと思います。

うまく伝わると良いのですが、

    C
   形式▽
    01MM
    09MM
    03MM
    05MM

という表でマクロのボタンを押すと
こうなって

    C
   形式▼
    01MM

ボタン押す

    C
   形式▼
    09MM

ボタン押す

    C
   形式▼
    03MM

ボタン押す

    C
   形式▼
    05MM

C列の最後までオートフィルタで表示したら

    C
   形式▽
    01MM
    09MM
    03MM
    05MM

このようにフィルタを解除してほしいのです

マナさん

スライサー便利でした。
ものすごく便利な機能ですね。オートフィルタよりボタンが大きくてよかったです。
スライサーでも上記のような動作をさせることができるのでしょうか?
上から順に(例示の表の場合)01MM、09MM、03MM、05MMのように順に表示することができますか?

返信が遅くなり申し訳ありません。
もう一度よろしくお願いします。
(VBAビギナー) 2022/03/31(木) 13:02


マナさん
すみません、スライサー便利なのですが、
例示の表C列に関してはオートフィルターの方が使いやすかったです。

オートフィルターを上から順に切り替える方法をご存知でしたらご教示ください。
(VBAビギナー) 2022/03/31(木) 13:12


 こんばんわ ^^
こんな、感じ。。。でせうか ← エラー処理等&便利機能関連は一切ありません^^;
なにかの足しにでも。。。ならなければ、ゴミ箱ポイお願いいたします。
でわ
m(_ _)m
Sub sAmple01()
    Dim r             As Range
    Dim i             As Long
    With Worksheets("Sheet1")
    Set r = .Cells(11, 1).CurrentRegion
        For i = 2 To r.Rows.Count
            If .AutoFilterMode Then
                r.AutoFilter
            End If
            r.AutoFilter 4, r(i, 4)
            MsgBox "次ぎへ"
        Next
        If .AutoFilterMode Then
            r.AutoFilter
        End If
    End With
End Sub
(隠居Z) 2022/03/31(木) 17:17

 隠居Zさん、使わせていただきました。(;^_^A
 Sub Test()
    Dim r As Range
    Static i As Long
    With Worksheets("Sheet1")
        Set r = .Cells(11, 1).CurrentRegion
        If Not .AutoFilterMode Then
            i = 2
            r.AutoFilter 4, r(i, 4)
        Else
            i = i + 1
            r.AutoFilter 4, r(i, 4)
            If i > r.Rows.Count Then r.AutoFilter
        End If
    End With
 End Sub

(ピンク) 2022/03/31(木) 18:44


 (#^^#)。。。何時も拝見させて戴いております。
とても、勉強になります。有難うございました。
m(_ _)m
(隠居Z) 2022/04/01(金) 07:07

 隠居Zさま 滅相もございません、こちらも多々学ばせて頂いております。m(_ _)m

(ピンク) 2022/04/01(金) 08:12


隠居Zさん、ピンクさん

ありがとうございます
うまく動きました
オートフィルタを使う表は空白を含むとよくないのですね

作業シート(Sheet1)からオートフィルタが設定されているシート(Sheet2)にデータを転記しているのですが、そのコードも見てもらえますか?

sub 転記()
Dim i As Long
Dim k As Long
Dim j As Long
Dim rowsData As Long '行数カウント用の変数

rowsData = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row

k = 12

For i = 5 To rowsData

    Sheet2.Cells(k, 2).Value = Sheet1.Cells(i, 2).Value
    For j = 2 To 6
        Sheet2.Cells(k, j).Value = Sheet1.Cells(i, j).Value
    Next j
    k = k + 1
Next i

End Sub

作業シート(sheet1)の転記したい範囲はB5からF5の最終行までです。
オートフィルター(sheet2)に転記するとA12からF77まで表があるので、空白ができてしまいます。C79からC90まで削除したくないデータが入っているので、転記した際、空白ができてしまいます。
sheet1からsheet2に転記をした際、sheet2の空白を削除するにはどうしたらよいのでしょうか。

(VBAビギナー) 2022/04/03(日) 10:42


 おはよ〜ございます ^^
何故、空白が出来るのか、転記元、シート情報の詳細が解りませんので
何とも申し上げづらいのですが。。。^^;
書込み先シートで対応、書込元読み込み時に対応、いづれに致しましても
空白行が有れば何もしないとの条件分岐で何とか成りませんでしょうか

 [案外、思ったよりも面倒な場合が多いような気が@@;しないでもありませんが
空白、空。。。← 沢山の見た目、空白になる文字コードがありますのでご注意を^^;]

(隠居Z) 2022/04/03(日) 11:39


隠居Zさん
返信ありがとうございます

美しくないかもしれませんが、以下のコードで自分のやりたいことができました
アドバイスありがとうございました

>作業シート(sheet1)の転記したい範囲はB5からF5の最終行までです。
>オートフィルター(sheet2)に転記するとA12からF77まで表があるので、空白ができてしまいます。C79からC90まで削除したくないデータが入っているので、転記した際、空白ができてしまいます。
>sheet1からsheet2に転記をした際、sheet2の空白を削除するにはどうしたらよいのでしょうか。

最終行から77行までの間を削除する

Option Explicit

Sub DeleteSpace()

Dim LastRows As Long '行数カウント用の変数

LastRows = Cells(Rows.Count, 4).End(xlUp).Row + 1

Range(LastRows & ":77").Select '削除の場合.deleteに変える

End Sub
(VBAビギナー) 2022/04/03(日) 22:38


スライサーをキーボードで操作出来たらいいのかな?

個別の選択は、矢印キーで選んで、
Shiftキーを押しながらEnterキー
全部を選択はCtrlキーを押しながらEnterキー
っぽいですね。

(まっつわん) 2022/04/04(月) 10:33


まっつわんさん
返信ありがとうございます。
スライサーとても便利でした。
キーボード操作と合わせて覚えたいと思います。
(VBAビギナー) 2022/04/05(火) 22:30

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.