[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『色付きの数値のみを並べ替えしたい』(福太郎)
[黒の中で赤の数値だけをまとめて並べ替える等の色付きの数値のみを並べ替えしたいのですがご教示お願いします。
]
[エクセルのバージョン]
Excel2000
[OSのバージョン]
Windows2000
色は セル? 文字?
あと、条件付き書式ではないですよね?
(INA)
シートのレイアウトは、どのようになっていますか? (何列の何行くらいですか?)
(INA)
もうすこしくわしくおおしえください
1行目は タイトル行ですか? それともデータですか?
またデータは列ごとですか?
それとも行ごとですか?(A列がタイトル列で。)
(INA)
タイトル行 1〜9行 タイトル列 A〜O列 データ行 10〜115行 データ列 P〜AC列 ※データ行ごとの並べ替えです。 (福太郎)
ということは、並べ替えする範囲は P10:AC115 で、 横方向の並べ替えということですか?
(INA)
タイトルも並べ替えしたいので範囲は A10:AC115 とし 方向は行単位となります。
略図) *がデータで横(P〜AC)がグループとなります。 各グループの中で1つ以上赤の文字がある場合、その行単位で並べ替えをさせたい。 (昇順のように) A B C ・・P ・・・AC 1 # # # ・・# # # # # 2 # # # ・・# # # # # 3 # # # ・・# # # # # ・ # # # ・・# # # # # ・ # # # ・・# # # # # 10 # # # ・・* * * * * ↑ ・ # # # ・・* * * * * ・ # # # ・・* * * * * 行単位の方向で並べ替え ・ # # # ・・* * * * * 115 # # # ・・* * * * * ↓
(福太郎)
並べ替えの規則がよく分かりません。 #の赤文字、黒文字 及び * の赤文字、黒文字の 並べ替えの条件規則を詳しくお教え下さい。
(INA)
INA様
#の部分はタイトルとなり全て黒文字です。 *の部分がデータで規格外が赤で表示、規格内が黒で表示します。 また、P10〜AC10は1項目に対しての14個の各データを表示しています。(P11〜AC11以下同様です) 従って、規格外(赤文字)を含むグループと含まない(黒文字)グループがランダムに存在します。 これらのグループの中で一つ異常の規格外(赤文字)を含むグループのみをA〜Oのタイトル も同時(行ごと)にまとめて並べたいのです。
質問の繰り返しになり、お手数お掛けします。 これで、だいたい理解できました。
>これらのグループの中で一つ異常の規格外(赤文字)を含むグループのみを >A〜Oのタイトルも同時(行ごと)にまとめて並べたいのです。 どこに表示すればよいのでしょうか? 別シートでしょうか?
フローとしては、
1.10-115行を別シートにコピー 2.赤文字の含まれていない行を、行削除 3.P-AC列の黒文字のセルを削除(左に詰める) 4.P-AC列 で行ごとに 並べ替え
こんな感じでしょうか?
(INA)
INA様 表示させる場所はブック内の別のシートとなります。 また、ご提案頂いたフローの中で 3番目は行わせないでそのままとします。 そして、これらのフローを自動化することは可能でしょうか? (マクロのボタン一つで・・・)
INA様やおまへんけど、よろしゅうおまっか? ほんなら下のコードを試してみておくんなはれ。 Sheet1のデータをSheet2でソートしてありま。
>マクロボタン1つで はい、コードをそのボタンに貼り付けたらいけま。 ほな...(弥太郎) '------------------ Sub sort() Dim i As Integer, n As Integer, Cnt As Integer
Worksheets("sheet1").Range("a1:ac115").Copy Worksheets("sheet2").Select Range("a1").Select ActiveSheet.Paste
For i = 10 To 115 For n = 16 To 29 If Cells(i, n).Font.ColorIndex = 3 Then Cnt = Cnt + 1 End If Next n Cells(i, 30) = Cnt Cnt = 0 Next i
Range("a10:ad115").Select Selection.sort Key1:=Range("ad10"), Order1:=xlDescending Columns("ad10:ad115").Clear Range("a10").Select End Sub
1.ALT+F11キーで、VBEを起動 2.挿入−標準モジュール 3.標準モジュールのコードウィンドウに以下のコードをコピペ 4.EXCELに戻って、ツール>マクロ>マクロ>から sample を実行 もしくは、ツールバーのフォームのボタンをシートに配置して、 マクロ sample を登録する。
Sub sample() Dim i As Long Dim myR As Range Dim ws1 As Worksheet Dim ws2 As Worksheet
Set ws1 = ActiveSheet Set ws2 = Worksheets.Add
'シートコピー ws1.Cells.Copy ws2.Range("A1")
With ws2
For i = 115 To 10 Step -1 '行削除するので逆ループ
'列ループ (P〜AC) For Each myR In .Range(.Cells(i, 16), .Cells(i, 29)) If myR.Font.Color = vbRed Then GoTo NextRow End If Next myR
.Rows(i).Delete '行削除 NextRow: Next i
'並替 For i = 10 To .Range("A10").End(xlDown).Row .Range(.Cells(i, 1), .Cells(i, 29)).sort _ Key1:=.Cells(i, 1), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlLeftToRight, SortMethod:=xlPinYin Next i
End With End Sub
(INA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.