2016-05-02 4 views
2

マイワークシートにはすべてのセルのグレー色があります。私は列の範囲を選択し、重複を削除しています。それは意図したとおりに重複を削除しますが、重複したセルの色をデフォルトの白にします。私は複数の例を試しましたが、デフォルトの白色で完了したように見えます。この問題は決して起こりませんでした。私はプログラム的に色を元に戻すことができますが、なぜこのように起こっているのかを知る前に、色を元に戻したくありません。以下は私のコードですExcel VBAでは、範囲内の重複したエントリを削除すると、セルの背景色が削除されるのはなぜですか?

LastRow = GetLastRow(SheetName, ConsolidatedColumn) 'ConsolidatedColumn is "P" 
WS.Range(ConsolidatedColumn & "1:" & ConsolidatedColumn & LastRow) _ 
    .RemoveDuplicates Columns:=Array(1), Header:=xlYes 

なぜこのようなことが起こるのか説明できますか?

+1

.RemoceDuplicatesもセル内のすべて、整形を削除します。これは.clearコマンドのようなものです。あなたが望んでいない場合は、値を削除するだけのマクロを書くことができます –

+0

あなたは行を削除し、それらの下の行を移動してコンテンツを消去しません。 – Jeeped

+0

@Jeeped:RemoveDuplicates' 'の_not-削除 - しかし、ちょうど-shifiting-rows_行動についての私の答えを参照してください。 – user3598756

答えて

0

それはが&シフト行を削除しても、単にいないようだRemoveDuplicates()方法

の機能については、私は(おそらく)いくつかに便利なサイドノートを投げる以外のこの

With Worksheets(SheetName).Range(ConsolidatedColumn & "1:" & ConsolidatedColumn & LastRow) 
    .RemoveDuplicates Columns:=Array(1), Header:=xlYes 
    .Resize(1, 1).Copy 
    .PasteSpecial xlPasteFormats 
End With 

を試してみてくださいシフト 少なくともこれは次のテストで私が思いついたものです

TEST1:あなたは2つのMsgBox

から同じ範囲のアドレスを取得し、最後の二つの文は全体範囲

TEST2に書式を拡張

With Worksheets(SheetName).Range(ConsolidatedColumn & "1:" & ConsolidatedColumn & LastRow) 
    MsgBox .Address 
    .RemoveDuplicates Columns:=Array(1), Header:=xlYes 
    MsgBox .Address 
    .Resize(1, 1).Copy 
    .PasteSpecial xlPasteFormats 
End With 

With Worksheets(SheetName).Range(ConsolidatedColumn & "1:" & ConsolidatedColumn & LastRow) 
    MsgBox .Address 
    .Rows(2).Delete 
    MsgBox .Address 
    .Resize(1, 1).Copy 
    .PasteSpecial xlPasteFormats 
End With 
あなたは2つの MsgBox文は異なる範囲のアドレスを取得

、秒、1行目は、最初の

より短いとされ、結果として、最後の2つのステートメントは、全体に書式を拡張しません範囲

+0

を入れました。どのような説明!最後に、WS.Range(ConsolidatedColumn& "2:"&ConsolidatedColumn&LastRow) '' .RemoveDuplicates Columns:= Array(1)、Header:= xlYes''を使って次のように使いました。(1).Copy' '.PasteSpecial xlPasteFormats'' Application.CutCopyMode = False' '' WS.Cells(1.1)で終わり.Select '重複の範囲を選択解除するには –

+0

嬉しいです。私の答えが役に立つと分かったら、それを上書したいかもしれません。乾杯 – user3598756

関連する問題