5

列 1 のデータが変更されたときに行間に境界線を追加しようとしています。このコードは で壊れ.LineStyle = xlContinuousます。表示されるエラーは、「Border クラスの LineStyle プロパティを設定できません」です。

コードにエラーがありますか、またはこれを行う別の方法はありますか?

Sub AddBorders()
    With Range("A:B").FormatConditions.Add(Type:=xlExpression, Formula1:="=A1<>A2")
        With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
    End With
End Sub
4

2 に答える 2

6

ではないxlEdgeBottomようですxlBottom。したがって、次の行を変更します。

With .Borders(xlEdgeBottom)

With .Borders(xlBottom)

そしてそれは私のために働いた

于 2013-07-22T21:41:50.840 に答える
0

xlBottomの代わりにを使用することに加えてxlEdgeBottom、このエラーの別の原因として、同じ範囲に 3 つ以上の条件付き書式を適用したことが考えられます。私は同じ問題を抱えていましたが、これで解決しました。

メソッドに関するMSDN ドキュメントには、Add次のように記載されています。

範囲に対して 3 つを超える条件付き書式を定義することはできません。Modify メソッドを使用して既存の条件付き書式を変更するか、Delete メソッドを使用して既存の書式を削除してから新しい書式を追加します。

于 2014-04-28T17:19:15.970 に答える