[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートフィルタを上から順に選択したい』(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さん
目視で確認したです。
できればマクロ実行ボタンを押すと上から順にオートフィルタが切り替わるようなことができればと思います。
うまく伝わると良いのですが、
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
オートフィルターを上から順に切り替える方法をご存知でしたらご教示ください。
(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
ありがとうございます
うまく動きました
オートフィルタを使う表は空白を含むとよくないのですね
作業シート(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
美しくないかもしれませんが、以下のコードで自分のやりたいことができました
アドバイスありがとうございました
>作業シート(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
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.