[[20210909093120]] 『範囲まとめてセル色ソート』(ヤク) ページの最後に飛ぶ

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

 

『範囲まとめてセル色ソート』(ヤク)

お世話になります。
セル100個x100個、位(変動あり)の範囲に文字が入力されていて、
その中にはセルが塗りつぶされているものと塗りつぶされていないものがあります。
これを任意で範囲を指定して、塗りつぶされていないものを上に来るようにソートをしたいのですが、お助け下さい。

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


回答ではなく確認です。
塗りつぶしは条件付き書式ですか、それとも手作業でつけたものですか?
塗りつぶしたセルには、特徴とかありますか?
(というのは、色を直接調べずに、セル内容で判断できれば、それが一番ですから)
(γ) 2021/09/09(木) 10:32

(γ)さんありがとうございます。
塗りつぶしは条件付き書式で塗られています。
特徴は特になく製品名称が入力されているだけとなります。
宜しくお願いします。

(ヤク) 2021/09/09(木) 10:54


立ち入るようですが、その条件付き書式の条件はどんな種類のものですか?
文字列が入っていたら塗りつぶすというようなものですか?
それなら、空白セルだけを上に持ってくるのでしょうか?

(γ) 2021/09/09(木) 11:03


(γ)さんありがとうございます。

設定内容は別シートの一覧表との重複確認(COUNTIFを使用)になります。
宜しくお願いします。
(ヤク) 2021/09/09(木) 11:08


>セルが塗りつぶされているものと塗りつぶされていないものがあります。
>塗りつぶされていないものを上に来るようにソートをしたいのですが

1)並び替えしたい列の行を範囲選択
2)データタブクリック
3)並べ替えクリック
4)並べ替えの前に
 現在選択されている範囲を並び替えるにチェック
 並べ替え(S)をクリック
5)並べ替え
 先頭行をデータの見出しとして使用する → 有無確認
 優先されるキーの項目を選択する
 列 → セル選択した列が表示されている
 並べ替えのキー → セルの色
 順序 → セルの色なし → 上

(まの) 2021/09/09(木) 11:23


(まの)さんありがとうございます。

試してみました。

3)並べ替えクリック

並び替えのフォームが立ち上がりますが、
下記のチェック項目が見あたりませんでした。
やり方がおかしいのでしょうか?

4)並べ替えの前に
 現在選択されている範囲を並び替えるにチェック
 並べ替え(S)をクリック

(ヤク) 2021/09/09(木) 11:42


質問が分かりずらいように感じましたので改めて説明させて下さい。

A1:CV100(増減あり)の範囲に製品名称が記載されていて、別シートの名称一覧と重複確認の
条件付き書式が設定されており、重複セルは黒く塗りつぶされています。
この表中で任意の範囲をまとめて列毎にソートして、塗りつぶされていない(白)セルを上に来るようにしたいのですが、何とかなりませんでしょうか、
お知恵をお貸し下さい。
(ヤク) 2021/09/09(木) 17:34


 4)が表示されていないのは、その範囲外にソートすべき場所がない(とExcelが判断している)からだと思います。
 表示されないにしても、5)の作業はできませんか?
(*) 2021/09/09(木) 18:24

>やり方がおかしいのでしょうか?
1)並び替えしたい列の行を範囲選択 と書きましたが
A1:A10 のように選択するという意味でした。

ソート前

     |[A]|[B]|[C]|[D]|[E]
 [1] |え |A  |亜 |   |A  
 [2] |  5|B  |井 |   |B  
 [3] |い |C  |雨 |   |C  
 [4] |  1|D  |絵 |   |D  
 [5] |お |E  |尾 |   |E  
 [6] |  4|F  |可 |   |F  
 [7] |う |G  |気 |   |G  
 [8] |  3|H  |区 |   |H  
 [9] |あ |I  |毛 |   |I  
 [10]|  2|J  |個 |   |J    

数字は色ありとします

ソート後
A列のみのソートとなります。

     |[A]|[B]|[C]|[D]|[E]
 [1] |  5|A  |亜 |   |A  
 [2] |  1|B  |井 |   |B  
 [3] |  4|C  |雨 |   |C  
 [4] |  3|D  |絵 |   |D  
 [5] |  2|E  |尾 |   |E  
 [6] |え |F  |可 |   |F  
 [7] |い |G  |気 |   |G  
 [8] |お |H  |区 |   |H  
 [9] |う |I  |毛 |   |I  
 [10]|あ |J  |個 |   |J   

セルの並べ替えであってデータそのものはソートされません。
BC列も連動して並べ替えするのなら
データー範囲のセルを一つ選択しておいて手順 2) 3) 5) としてください。
↓は適用できません。
>任意の範囲をまとめて列毎にソートして
(まの) 2021/09/09(木) 19:32


 列ごとに繰り返す必要があるので、マクロということになるでしょうか。

 以下を標準モジュールにコピーして、
 マクロ test を実行して下さい。
 対象となる表はA1セルから始まる前提を置いているので、
 違うケースは修正が必要です。

 Sub test()
     Dim myRange As Range
     Dim r As Range
     Dim k As Long

     Set myRange = Range("A1").CurrentRegion '表の最初のセルがA1。■要修正
     For k = 1 To myRange.Columns.Count
         Set r = myRange.Columns(k)
         With ActiveWorkbook.Worksheets("Sheet1").Sort
             .SortFields.Clear
             .SortFields.Add Key:=r, _
                             SortOn:=xlSortOnCellColor, _
                             Order:=xlAscending, DataOption:=xlSortNormal
             .SetRange r
             .Header = xlGuess
             .MatchCase = False
             .Orientation = xlTopToBottom
             .SortMethod = xlPinYin
             .Apply
         End With
     Next
 End Sub
 # 色によるソートというものの存在をうっかりしていました。
(γ) 2021/09/09(木) 23:18

(γ)さんありがとうございます。
これを求めていました、大変助かりました。
作業が捗ります。
本当にありがとうございました

(ヤク) 2021/09/10(金) 09:26


コメント返信:

[ 一覧(最新更新順) ]


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