私は条件付き書式設定ブック有する:条件付き書式は引き続き削除されますか?
条件付き書式は、私の範囲A強調すべきである:カラムN.で状況に応じて行ごとにP
を私は範囲を設定しています。
条件付き書式は、ほとんどの時間を正常に動作します。
ただし、ユーザーがセルにコピーして貼り付けた場合、条件付き書式は失われます。
また、セルにコピーされた値をルックアップし、別のブックから対応する値を見つけるこのVBAコードもあります。条件付き書式が削除されることと関連があるかどうかは不明です。
'Insert Depot Memo Data for user
Dim oCell As Range, targetCell As Range
Dim ws2 As Worksheet
On Error GoTo Message
If Not Intersect(Target, Range("B:B")) Is Nothing Then ' <-- run this code only if a value in column B has changed
If Not GetWb("Depot Memo", ws2) Then Exit Sub
With ws2
For Each targetCell In Target
Set oCell = .Range("J1", .Cells(.Rows.Count, "J").End(xlUp)).Find(What:=targetCell.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not oCell Is Nothing Then
Application.EnableEvents = False
'Set Format of cell
targetCell.ClearFormats
targetCell.Font.Name = "Arial"
targetCell.Font.Size = "10"
targetCell.Font.Color = RGB(128, 128, 128)
targetCell.HorizontalAlignment = xlCenter
targetCell.VerticalAlignment = xlCenter
targetCell.Borders(xlEdgeBottom).LineStyle = xlContinuous
targetCell.Borders(xlEdgeTop).LineStyle = xlContinuous
targetCell.Borders.Color = RGB(166, 166, 166)
targetCell.Borders.Weight = xlThin
targetCell.Offset(0, -1).Value = Now()
targetCell.Offset(0, 1).Value = oCell.Offset(0, 1)
targetCell.Offset(0, 2).Value = oCell.Offset(0, -2)
targetCell.Offset(0, 3).Value = oCell.Offset(0, -7)
Application.EnableEvents = True
End If
Next
End With
End If
私が間違っていることを誰かに教えてもらえますか?
コピー&ペーストでも、ソースセルから書式がコピーされます。条件付き書式が消去されないようにするには、特殊な値をコピーして貼り付ける必要があります。これは非常に厄介なことです。あなたのコードは問題ではないようです。 – Enigmativity
@Enigmativityこれは共有ブックであり、コピーして貼り付けるときのユーザーの操作を制御できません。値の貼り付けだけを許可するルール/ vbaコードを配置する方法はありますか? – user7415328