アプリ版:「スタンプのみでお礼する」機能のリリースについて

「全て」の時は黒で、なにかを選択してる時は青ですよね?
あれって区別がつきにくくないですか?
一目で判る様に出来ないのでしょうか?
出来ないのなら、なぜあんなわかりにくい表示になっているのか、
どなたか教えてください。
今日も仕事で「ええっと今どこでフィルターかけてんだっけ?」と・・・。

A 回答 (6件)

こんにちは。



面白そうなので、私もマクロを作ってみました。

以下は、イベント・ドリブン型です。本来は、オート・フィルタをなくすときのために、ボタンをインスタンスでイベントを設定しても良いのですが、二度手間なので、ひとつにまとめてしまいました。ダミーの揮発性関数 Now()の位置だけ、他のデータを上書きしなければ、問題なく使えるはずです。
他に、ワークシートが全体的に計算式がある場合、誤動作を避けるために、プロシージャの始めに、 Application.EnableEvents = False, 終わりに、 Application.EnableEvents = True を持ってきても良いかもしれません。

'-----------------------------------------------------------------------
Option Explicit

Private Sub Worksheet_Calculate()
'オートフィルタの選択時に色をつけるコード
 '==================================================
 '**ユーザー設定***
 ''オートフィルタのテーブルの左上端を指定
 Const LEFTTOPCELL As String = "A1"
 ''ダミー計算式の置き場所
 Const DUMFORMULACELL As String = "AA1"
 '==================================================
 
 Dim i As Integer
 'ダミーの揮発性関数による計算式
 If Me.Range(DUMFORMULACELL).FormulaLocal <> "=NOW()" Then
 Application.EnableEvents = False
  Me.Range(DUMFORMULACELL).FormulaLocal = "=NOW()"
 Application.EnableEvents = True
 End If
 
 If Me.AutoFilterMode Then
  With Me.AutoFilter
   For i = 1 To .Filters.Count
    If .Filters(i).On Then
     .Range.Rows(1).Cells(i).Interior.ColorIndex = 4
    Else
     .Range.Rows(1).Cells(i).Interior.ColorIndex = xlColorIndexNone
    End If
   Next
  End With
 ElseIf LEFTTOPCELL <> "" And Me.AutoFilterMode = False Then
 'オートフィルタが消失した場合の色消し
   Application.ScreenUpdating = False
   Range(LEFTTOPCELL).AutoFilter
   With Me.AutoFilter
     .Range.Rows(1).Interior.ColorIndex = xlColorIndexNone
   End With
   Range(LEFTTOPCELL).AutoFilter
   Application.ScreenUpdating = True
 End If
End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お礼が遅くなってしまい、申し訳ありません。

ええと、あの、すみません。
下の方の回答にも書いたのですが、実はマクロが・・・。
こんなに丁寧にご回答いただいたのにきちんと理解が出来なくて
本当にごめんなさい。
皆さんのご好意を無にしないようにマクロ勉強します。
それにしてもマイクロソフト様、なんとかしてください。

お礼日時:2006/08/01 21:36

駄案が気になって...リカバリーを(笑


Sub sample()
  Dim f As Filter, i As Long
  With ActiveSheet
    If Not .AutoFilterMode Then Exit Sub
    With .AutoFilter
      For Each f In .Filters
        i = i + 1
        .Range.Cells(i).Interior.ColorIndex = IIf(f.On, 41, 0)
      Next f
    End With
  End With
End Sub
このマクロをツールバーのボタンか何かに登録しておけば、
クリックする度にフィルターの状態を判定してセルの背景色を変更します。
#色をつけたままAutoFilter解除してしまうと変更しません。
#再度Filterするか、手動で消す事になります^ ^;
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お礼が遅くなってしまい、申し訳ありません。

駄案だなんてとんでもありません。
2度もご回答をいただき、しかもマクロまで考えていただいて
本当にありがとうございます。
しかしながら私、お恥ずかしいのですがマクロって全然わからないのです。
せっかくのご意見ですので、これから少しマクロとやらを勉強してみようかと思います。
ありがとうございました。

お礼日時:2006/08/01 21:30

こんにちは。

オートフィルターのドロップダウンの▼の『青』は無理ですが、
かかっていない場所の▼は変更できるのですが...
コントロールパネル[画面のプロパティ]-[デザイン]タブの[指定する部分]『3Dオブジェクト』の色を変更。

...でも全てのメニューバーの文字色も変わってしまいますので...駄案です...orz
    • good
    • 0

私もそう思います。

ほとんど見分けつかないですよね。
私もこまるので,オートフィルタをかけたセルの上のセルに色をつけるようにしてます。
面倒ですが,ややこしい条件でフィルターをたくさんかけているときはちょっとは作業がはかどります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お礼が遅くなってしまい、申し訳ありません。

>オートフィルタをかけたセルの上のセルに色を

なるほど。やってみます。
しかしながら私、忘れっぽいのでフィルターを解除したのに
色をそのままにしたりしそうです(涙)。
ありがとうございました。

お礼日時:2006/08/01 21:25

 こんばんは。


 お気持ち よく分かります。
 実はわたしも 「黒」と「青」では識別しにくく不便なので マイクロソフト社に照会したことがあったのですが 別の色に変更することはできないそうです。今後の改善に期待したいところです。
 もし データの量が膨大で 例えば列数が100とか200とかにもなっていて その中でオートフィルタをかけている列を捜すのが面倒な場合 わたしは ツールバーの「データ」をクリックし オートフィルタのチェックを外して機能を解除しています。これで 一瞬のうちに オートフィルタをかけている全ての列が元の状態に戻ります。
 作業の内容によってはこの操作が使えないこともありますが ご参考までに・・・。 
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お礼が遅くなってしまい、申し訳ありません。

マイクロソフトに照会されたのですね?
私もここでだめならマイクロソフトに聞いてみるかと
思っていたのですが、やはり無理なんですね。

それにしてもなんであんな設定にしたんでしょう。不思議です。
でも共感していただいて嬉しいです。

お礼日時:2006/08/01 12:59

確かに見づらいですね。


でもとりあえず、画面に顔を近づけて凝視するとわかるので
まぁいいかな?と思ってます。

色を変えられるならいいですけど、方法はおろか、可能なのか、もわかりません。

HELP でも「青」と明記されてたので変えられないように思います。

他の手段としては、ちょっと手間ですがそれぞれをドロップダウンしてみて、
「すべて」でないところを探す...という方法も。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
ご回答ありがとうございます。

ぜったい見にくいですよねぇ?

>ちょっと手間ですがそれぞれをドロップダウンしてみて、

そうなんです、でもあっちこっちでフィルターかけてると
これが面倒で・・・。
共感していただいて嬉しいです。

お礼日時:2006/08/01 12:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!