一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

5'SelectionChange事件

 十月波波 2023-10-18 發(fā)布于遼寧

'Worksheet_SelectionChange(ByValTarget As Range)

'當工作表中  選擇的單元格  改變時觸發(fā)該事件.

'參數(shù)Target代表工作表中所選取的單元格或單元格區(qū)域

'例:高亮顯示單元格所在的行列

'下面的代碼高亮顯示工作表單元格所在的行列:(類似于wps 方便查看 不容易看錯行,但是會清掉已有戳色塊)

Private Sub Worksheet_SelectionChange5(ByVal Target As Range)

  
   Cells.Interior.ColorIndex = xlNone

   With Target

        .EntireRow.Interior.Color = vbRed

        .EntireColumn.Interior.Color = vbRed

   End With


End Sub

對應VBA 高亮顯示單元格所在行列 還可以(最終也會清除掉已有著色單元格)

Public LastRange As Range
' 用于存儲上次突出顯示的區(qū)域
Public currCell As Range  'currCell 當前單元格


Sub HighLight2()
    On Error Resume Next
    
    Dim dataRange As Range
    Dim currRange As Range
    Dim lastRow As Long
    Dim lastCol As Long
    
    '獲取工作表的數(shù)據(jù)區(qū)域,這里假設數(shù)據(jù)區(qū)域從A1開始,向右和向下延伸
    With ActiveSheet
         lastRow = .UsedRange.Rows.Count
         lastCol = .UsedRange.Columns.Count
         Set dataRange = .Range("A1").Resize(lastRow, lastCol)
         
    '檢查上次是否有突出顯示的區(qū)域,如果有,還原它們的格式
         If Not LastRange Is Nothing Then
            LastRange.Interior.ColorIndex = xlNone ' 清除上次的突出顯示
            Set LastRange = Nothing ' 清除上次突出顯示的區(qū)域
         End If        '檢查選定的單元格是否在數(shù)據(jù)區(qū)域內
         
         
        '判斷當前單元格是否在數(shù)據(jù)區(qū)域之內,如果在的話,就把當前區(qū)域設置在數(shù)據(jù)區(qū)域之內,以當前單元格為中心的十字區(qū)域;如果當前單元格不在數(shù)據(jù)區(qū)域之內,則把當前區(qū)域設置為以當前單元格為中心的十字區(qū)域(整行、整列)。
        If Not Intersect(currCell, dataRange) Is Nothing Then '當前單元格和工作表區(qū)域的交集
            Set currRange = Union(currCell.EntireRow, currCell.EntireColumn) '
            Set currRange = Intersect(currRange, dataRange) '
        Else
            Set currRange = Union(currCell.EntireRow, currCell.EntireColumn)
        End If
        
        '對當前區(qū)域標色,可以根據(jù)需要調整設置
         currRange.Interior.Color = RGB(245, 245, 220)
         
         '把當前區(qū)域賦值給LastRange,以備在選擇單元格變化、工作表切換、文件關閉時,清除其格式。
        Set LastRange = currRange
        
    End With
End Sub

Private Sub Worksheet_Deactivate()
If Not LastRange Is Nothing Then
    LastRange.Interior.ColorIndex = xlNone        ' 清除上次的突出顯示
    Set LastRange = Nothing ' 清除上次突出顯示的區(qū)域
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set currCell = Target.Cells(1, 1)
    Call HighLight
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If Not LastRange Is Nothing Then
    LastRange.Interior.ColorIndex = xlNone        ' 清除上次的突出顯示
    Set LastRange = Nothing ' 清除上次突出顯示的區(qū)域
    End If
    ThisWorkbook.Save
End Sub

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩精品一级一区二区| 99精品国产自在现线观看| 中国美女偷拍福利视频| 亚洲中文字幕综合网在线| 日本理论片午夜在线观看| 亚洲av熟女国产一区二区三区站| 午夜久久精品福利视频| 免费在线观看欧美喷水黄片| 欧美精品一区久久精品| 欧美特色特黄一级大黄片| 东京热男人的天堂社区| 亚洲另类欧美综合日韩精品| 久久亚洲成熟女人毛片| 欧美午夜一区二区福利视频| 一区二区三区人妻在线| 国产成人亚洲欧美二区综| 欧美日韩精品久久第一页| 九九热在线视频观看最新| 色综合久久超碰色婷婷| av在线免费观看在线免费观看| 亚洲精品av少妇在线观看| 日本午夜精品视频在线观看| 国产欧美高清精品一区| 日韩日韩欧美国产精品| 五月婷日韩中文字幕四虎| 高清一区二区三区不卡免费| 欧美一区二区三区高潮菊竹| 99久热只有精品视频免费看| 国产精品白丝一区二区| 精品国产一区二区欧美| 国产精品一区二区日韩新区| 久久热中文字幕在线视频| 久久福利视频视频一区二区| 日韩一区二区三区免费av| 在线免费观看一二区视频| 91亚洲熟女少妇在线观看| 国产精品夜色一区二区三区不卡| 国产又粗又长又大高潮视频| 99免费人成看国产片| 成人免费在线视频大香蕉| 成人精品欧美一级乱黄|