[[20230106132522]] 『データの並び替え』(初心者) ページの最後に飛ぶ

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

 

『データの並び替え』(初心者)

データの並び替えを行いたいです。
エクセルのデータは、データを見やすいように
2,4,6,8,10・・・行目に薄い緑を背景色に塗っています。

B列に日付、文字が入っており、これをキーにして並び替えを行いたいです。

    B      C    D 
5 日付     会場 名前
6 3/18       B    b
7 1/18       A    a
8 開催日未定    C    c
9 調整中      D    d
10 開催日未定    E    e


    B      C    D ・・・・・
5 日付      会場 名前
6 1/18       A    a
7 3/18       B     b
8 開催日未定    C     c
9 開催日未定    E    e
10 調整中      D    d

にしたいです。

Sub 並び替え_Click()
Dim ws As Worksheet
Set ws = Worksheets(1)

With ws.Sort
With .SortFields
.Clear
.Add Key:=ws.Range("B5"), SortOn:=xlSortOnValues, Order:=xlAscending
End With
.SetRange ws.Range("B5:L65536")
.Header = xlYes
.Apply
End With
End Sub

マクロで並び替えを実施した際、
日付の並び替えは完了するのですが、

開催日未定、調整中を並び替えた際に、
偶数行の背景色も一緒に並び替えられてしまうため
シートの背景色が並び替えたところだけ、可笑しくなってしまいます。
どうすれば良いのでしょうか。

< 使用 Excel:Excel2016、使用 OS:Windows7 >


 一度色を消して、付け直せばいいと思いますが
 色を消す 色を塗る作業をマクロ記録して、↑のコードの下に貼り付ければいいんじゃないですかね?
(稲葉) 2023/01/06(金) 13:49:15

テーブルにしておけば、並び替えても自動で塗り替えてくれますよ
(oayncsFkk6) 2023/01/06(金) 13:55:23

>稲葉さま
ありがとうございます。

色をつけ直すとは、
背景色を
一旦白にして、塗り替えることですよね

Sub 並び替え_Click()
Dim ws As Worksheet
Set ws = Worksheets(1)

With ws.Sort

   With .SortFields
        .Clear

   End With

        .SetRange ws.Range(.Cells(5, "B"), .Cells(lngLastRow, "L")).Sort 
         key1:=ws.Cells(1, 23), order1:=xlAscending, DataOption1:=xlSortTextAsNumbers, _
        .Header = xlYes
        .Apply
   End With

End Sub
(初心者) 2023/01/06(金) 14:28:05


コメント返信:

[ 一覧(最新更新順) ]


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