2016-12-01 3 views
0

数値とテキストの列をフィルタリングするマクロを記録しました。数字は、緑色 - 黄色 - 赤色の目盛りが1の赤色になるようにフォーマットされています。唯一のテキストは "VIP"であり、細胞は黒く着色されています。レコードマクロの列コードが正しく動作しない

私が記録したマクロでは、「VIP」を先頭に「1」をつけてソートしています。これは手動でフィルタを使用しますが、マクロを使用するときは最初に「VIP」、次に2など。これは1つのシートでのみ発生しますが、他のシートは同じコードを持ちますが、異なるシート名を使用しても問題ありません。私はこれを引き起こす可能性があるかわからないんだけど

は、私の記録したマクロのコードは以下の通りです:

ActiveWorkbook.Worksheets("Characterisation").AutoFilter.Sort.SortFields.Clear 
ActiveWorkbook.Worksheets("Characterisation").AutoFilter.Sort.SortFields.Add(_ 
    Range("D14"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _ 
    Color = RGB(0, 0, 0) 
With ActiveWorkbook.Worksheets("Characterisation").AutoFilter.Sort 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 

任意の助けをいただければ幸いです!

答えて

0

ランダムに撮影します。

Activesheet.AutoFilter.Sort.SortFields.Clear 
Activesheet.AutoFilter.Sort.SortFields.Add(_ 
    Range("D14"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _ 
    Color = RGB(0, 0, 0) 
With Activesheet.AutoFilter.Sort 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 

モジュールにコードを保存してください。それがうまくいかない場合は、説明付きのスクリーンショットが役立つはずです。 私がやったことは、常にアクティベートシートを参照することです。

+0

私はこれを試しましたが機能しません、私はスクリーンショットをアップロードしますが、私が持っているコードをもっと必要としない限り、ファイルは機密ですか? – Tom

+0

もう1つのフィルターを使用しようとしましたが、まだ動作しません。実際には、ソートされていない最上部のセルまたは行に問題があると思います。 – Tom

+0

さて、@ Tom、私のコードは現在のシートだけをアクティブなものに変更します。あなたの他のコードが動作していたすべてのシートで動作しているはずです。機密データについてはどこにでもアップロードしないでください。 – Vityata

関連する問題