[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別のシートを参照して並び替える方法について』(とくと)
すみません、アドバイスの程よろしくお願い致します。
セルの色でソートするコードですが
別のシートをソートする際に、エラーがでます。
その解決方法をどうかアドバイスをお願いします。
エラーの箇所
.Apply '・・・・・・・・・←ここでエラー「参照が正しくありません」
マクロコード
↓
Sub 色でソート()
Dim r As Range
With ActiveWorkbook.Worksheets("Sheet1").Sort 'ActiveSheet.Sort '並び替え設定を一旦削除 .SortFields.Clear
'b2を含むセル列の黄色色で昇順に並び替える For Each r In Range("B2:K2") .SortFields.Add(Key:=r, SortOn:=xlSortOnCellColor, _ Order:=xlAscending).SortOnValue.Color = RGB(255, 255, 0) Next '並び替える範囲をA1を含む表全体とする .SetRange Range("a1").CurrentRegion '一行目を項目列とする .Header = xlYes
'並び替えを実行 .Apply '・・・・・・・・・←ここでエラー「参照が正しくありません」
End With End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Range("B2:K2") ↓ .Parent.Range("B2:K2")
Range("a1").CurrentRegion ↓ .Parent.Range("a1").CurrentRegion
(マナ) 2015/01/31(土) 13:21
ありがとうございます。
下記で一応動きましたが、コードはこれでよろしいのでしょうか?
Sub 色でソート()
Dim r As Range
With ActiveWorkbook.Worksheets("Sheet1").Sort 'ActiveSheet.Sort '並び替え設定を一旦削除 .SortFields.Clear
'b2を含むセル列の黄色色で昇順に並び替える For Each r In Worksheets("E絆請求明細").Range("B2:K2") .SortFields.Add(Key:=r, SortOn:=xlSortOnCellColor, _ Order:=xlAscending).SortOnValue.Color = RGB(255, 255, 0) Next '並び替える範囲をA1を含む表全体とする .SetRange Worksheets("E絆請求明細").Range("a1").CurrentRegion '一行目を項目列とする .Header = xlYes '並び替えを実行 .Apply
End With End Sub
(とくと) 2015/01/31(土) 13:29
並び替えるシートはSheet1? E絆請求明細? 条件は1種類?
>'b2を含むセル列の黄色色で昇順に並び替える
これの意味をもう少し詳しく説明できますか。
(マナ) 2015/01/31(土) 14:05
すみません、並び替えのシートは、E絆請求明細 のみです。
Sheet1は間違いです。(実務ファイルで試していましたので・・・)
データ範囲は、A:Kで、並び替えが必要なセル範囲は、B:Kです。
条件は、黄色飲みです。
つまり、B〜K列まで順番に黄色のセルを昇順に並び替えるだけの処理です。
(とくと) 2015/01/31(土) 14:54
Dim ws as worksheet set ws=Worksheets(""E絆請求明細")
と変数の利用もよいかも知れません。
(マナ) 2015/01/31(土) 15:18
ありがとうございます。できました。
解決です。
(とくと) 2015/01/31(土) 15:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.