返回列表 上一主題 發帖

[發問] VBA點選儲存格指定範圍自動反色

[發問] VBA點選儲存格指定範圍自動反色


以下程式碼是在網路上找到的,但想請教該如何修改成以下想要的條件呢?
1. 希望反色條件只在I7:O18有作用,且改以整列反色呈現。例如:點選K9時,I9:O9會整列反色、點選N15時,I15:O15整列反色
2. 發現使用此VBA之後無法複製貼上或剪下貼上,例如當我複製B7後,只要滑鼠點選任何儲存格欲貼上時,複製的選項就會消失。剪下欲貼上的功能亦相同
以上求解~~~~~~~

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
   If Application.CutCopyMode = xlCopy Then Me.Paste
   On Error Resume Next
   [colorCell].FormatConditions.Delete
   Target.Name = "colorCell"
   With [colorCell].FormatConditions      ' 設定格式化條件
       .Delete
       .Add xlExpression, , "TRUE"        ' 條件(一)內公式
       .Item(1).Interior.ColorIndex = 36  ' .Item(1)等於FormatConditions(1)
       .Item(1).Font.Bold = True
   End With
End Sub



測試檔.rar (15.08 KB)
*宅女一枚無誤*

回復 1# msmplay


   看起來好像複雜化了,若只有點選反白只要如下代碼即可
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. If Target.Column <= 15 And Target.Column >= 9 And Target.Row >= 7 And Target.Row <= 18 Then '選擇I7:O18才執行
  3.     Range(Cells(Target.Row, "i"), Cells(Target.Row, "o")).Select'把選擇的範圍Row再擴大為 I 到 O 選擇
  4. End If
  5. End Sub
複製代碼

TOP

回復 2# lpk187


   l大~非常感謝您的熱心幫忙~~不過醬好像反而變得更多問題了耶!!噗~~~~
1. 雖然自動反色效果是要在I7:O18成立,但並不是要把整列選起來,因為醬會變成如果我需要在I7:O18裡其中一格複製或貼上的話,就會變成一整列複製、一整列貼上,而不能只單選一個儲存格了。
2. I7:O18無論點選任一儲存格都會變成選取整列,醬會造成我無法顯示目前選取的儲存格是停留在哪一格上面,因為整列反色是為了突顯該列,但仍需要正常顯示點選儲存格時的黑邊框喔。


所以如果可以,還是希望能以原有效果呈現,只是再修改一下條件,醬有辦法達到嗎?
*宅女一枚無誤*

TOP

回復 3# msmplay


    嗯!可能是我理解能力太差!你2次的說明我都看不懂!肇成你的因擾,實感抱歉 !

TOP

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim SelArea As Range
With Target
   Set SelArea = Intersect([I7:O18], .Cells)
   If SelArea Is Nothing Then Exit Sub
   If .Address <> SelArea.Address Then Exit Sub
   .Name = "colorcell"
End With
End Sub

格式化條件公式:=MODE(ROW(),ROW(colorcell)) 
 
Xl0000045.rar (10.37 KB)
 
 

TOP

回復 5# 准提部林


   准大~~非常感謝幫忙喔!!
*宅女一枚無誤*

TOP

請問
可同時選取2列以上的條件,可以變成用  ctrl 點選 多列以上嗎?

TOP

回復 7# momo020608

同時選取2列以上,可以變成用  ctrl 點選 多列以上嗎?

TT20170225-02(選取儲存格,列變色).rar (11.09 KB)

若列數太多, 不保證有效(文字串字數可能超限)

TOP

回復 8# 准提部林

謝謝大師~

TOP

回復  momo020608

同時選取2列以上,可以變成用  ctrl 點選 多列以上嗎?



若列數太多, 不保證有 ...
准提部林 發表於 2017-2-26 22:33

想引用這個主題請教准大:
點選儲存格的行也須反色(目前只有列有反色),及列與行交集處(即點選的儲存格)用別的顏色反色(例如用紅色),要如何做到???

TOP

        靜思自在 : 君子立恆志,小人恆立志。
返回列表 上一主題