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

Excel2007で、太字にした行のみをソートすることはできるのでしょうか。
たとえば、

行1 AAA
行2 BBB
行3 CCC
行4 DDD

と入力したシートがあり、行2と行4だけ行全体を太字に設定したとします。
このとき、これらの太字にした行2と4だけを表示させるような、つまり「太字にした行だけでソートする」、ということは可能でしょうか。どなたかご存知でしたらご教示ください。


よろしくお願いします。

A 回答 (4件)

#2の回答者です。



Macro関数を使ってみて気がついたことですが、値貼り付けしたり、もともとの名前-定義自体を削除しないと、標準的なマクロなしのブックでは、そのままでは保存できませんでした。

マクロ自体を否定したり、それは除外するという考えの方もいらっしゃるだろうと思います。そこで、太字の代わりにセルの塗りつぶしをして、[色フィルタ]で行ってみたらいかがでしょうか。

最初に太字の部分のフィールドを選択(重要)してから、
[検索と選択]--[置換]--[オプション]
検索する文字列--書式--太字
置換後の文字列--書式--太字 + 塗りつぶし(任意で)

そこで、[並べ替えとフィルタ]-[フィルタ]
後は、ドロップダウンをクリックして、[色フィルタ]で、色を選択します。

マクロを使って、マクロなしブックで保存する方法もあるのですが、それでは、本格的なマクロになってしまいますので、それは、今回の目的とは違うだろうと思います。
    • good
    • 2
この回答へのお礼

Wendy02さん、補足いただきありがとうございます。
できればマクロやVBAではなく。。。とは思ってましたので(知識がないので)この回答、
非常に助かりました。カラーソートができる2007ならではですね!

ありがとうございました!

お礼日時:2010/09/17 10:05

ソートでは太字を指定できないので、目的が太字の行だけ別シートに抽出したいなら検索の機能を利用します。



Ctrl+Fで検索ダイアログを出して、「オプション」ボタンをクリックし「書式」からフォントタブで「太字」を指定して「すべて検索」し、Ctrl+Aですべての太字セルを選択して、Ctrl+Cでコピーし、新規シートにCtrl+Vで貼り付けてください。
    • good
    • 1
この回答へのお礼

ありがとうございます。
書式で検索できるということを知りませんでした。
回答者No2 さんの補足と合わせて、

太字を検索-->カラー置換-->カラーソート

で解決できそうです!
大変助かりました。ありがとうございます。

お礼日時:2010/09/17 10:03

Macro関数を使います。



1)太字の有無のチェック用数式
 名前定義をしないと機能しませんので名前定義します
 A1 が対象の場合は、B1 セルをクリック
 (相対参照式になります)
 メニューの(数式)『名前の定義』で
 ・名前:Bold (任意です)
 ・範囲 (任意)
 ・参照範囲:=GET.CELL(20,!A1)+NOW()*0
   ・『OK』ボタンを押下して登録
 この数式はA列のセルの太字の時は、1を返します。
 太字がセットされていない場合は0が返ります

これができたら、
=Bold
と入力します。必要なだけ、オートフィルでコピーします。太字になっているセルだけ、1 が返ります。そうでないものは、0になりますから、それで、ソート(並べ替え)をすれば良いと思います。
    • good
    • 0
この回答へのお礼

太字の行の横に1を入れていくという泥臭い方法を考えていましたが、
こうすればマクロを使って簡単にできるのですね。
マクロ、まだあまりなじみがないですが、VBAと同様使えるようになると強いですね。
丁寧に解説いただきありがとうございました。

お礼日時:2010/09/17 10:00

こんにちは!


関数ではなく、VBAになってしまいますが・・・

一例です。
2行目からデータがあり、
A列のセルだけ太字かどうかを判断して、太字でなければその行を削除するようにしています。

操作したいSheet見出し上で右クリック → コードの表示 を選択
白い画面が出ますので、↓のコードをコピー&ペーストしてマクロを実行してみてください。
手元にExcel2007がないので詳しくは判りませんが、
メニュー → 開発 → マクロ → 実行 でできたと思います。


Sub test()
Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(i, 1).Font.Bold = False Then
Rows(i).Delete (xlUp)
End If
Next i
End Sub

尚、一旦マクロを実行すると、元に戻せませんので、
別SheetにSheet全体をコピー&ペーストしてマクロを試した方が良いと思います。

他に良い方法があれば読み流してくださいね。m(__)m
    • good
    • 0
この回答へのお礼

丁寧な解説をいただきありがとうございました。
太字だけを検索して塗りつぶすという回答がありましたので、VBAの知識がない私はそれを試してみようと思いますが、これを機会に使ってみたいと思います。いろいろできるのですね。
改めて、ありがとうございました。

お礼日時:2010/09/17 09:59

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

このQ&Aを見た人はこんなQ&Aも見ています