0

誰かがこれについて何か提案があるかどうか疑問に思っていました。セルがクリックされたときに、行が行 6 の下で強調表示されるようにします。A7 をクリックすると、行 7 が強調表示されます。次に B9 をクリックすると、行 7 のハイライトが削除され、行 9 がハイライトされます。必要なものに対応するコードを見つけて、少しカスタマイズしました。Excel が保存され、閉じられ、再度開かれた場合を除いて、すべてが必要なとおりに機能します。

行 9 が強調表示されている場合、スプレッドシートを保存して閉じ、再度開くと、行 9 は強調表示されたままになります (別のセルをクリックしても)。これで、2 行が強調表示されました。スプレッドシートを開いた後にこれを修正するには、別の行をクリックしてから行 9 に戻ります。その後、強調表示された 1 行に戻ります。

誰かがこれに対する解決策を持っていますか? 以下は私が使用しているコードです。

誰かが提供できる助けをありがとう、

クリス

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ActiveSheet.Unprotect

Static rr

If rr <> "" Then With Rows(rr).Interior .ColorIndex = xlNone End With End If

r = Selection.Row rr = r

With Rows(r).Interior .ColorIndex = 20 .Pattern = xlSolid End With

ActiveSheet.Protect

End Sub

4

4 に答える 4

0

選択時に表の行を強調表示することがよくあります。単純化しすぎているかもしれませんが、上記のコードよりもはるかに簡単に思えます。これが私がしていることです。次のように、行の強調表示を有効にする必要がある範囲のワークシートの選択変更で、ごくわずかなコードを使用します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("D8:R10000")) Is Nothing Then
Range("B1").Value = ActiveCell.Row
End If
End Sub

次に、B1 と範囲に条件付き書式を使用し、選択した行に任意の種類の書式を設定します。上記の条件付き書式設定式は次のようになります: =$B$1=ROW() 適用範囲: =$D$8:$R$10000

それでおしまい。他のコーディングは不要で、フォーマットを簡単に変更できます。これについてどう思いますか?

于 2015-01-19T05:34:34.160 に答える