我有一個工作簿,並需要對被切割和插入的行運行宏Excel中,如果選擇切開,然後做的事情
我已經有一個運行的代碼時改變顏色的行更改一個單元格一個單元格在另一個表單中具有相同的值。
該代碼位於worksheet_Change子項中。
我的問題是我如何檢測目標是否被剪切和插入而不是輸入?
編輯**
感謝馬克·菲茨傑拉德,我意識到我需要提供更多的信息。
我有2片之一具有的數據的行以空白行然後爲每個組數據
另一片被設置在列,以便每一列具有的標題信息,然後從每個第一單元的報頭組中的行。
當某人剪切並插入行表中某一組的某些行時,列表中的相關單元將移動到相關列。
行將永遠不會被複制和粘貼,也不會獨立於行移動值。
下面的代碼
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim KeyCells As Range
Dim batchNo
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("m1:m5000")
Set batchNo = Range("A" & ActiveCell.Row)
If Target.count = 1 Then
Select Case Target.Value
Case "x"
Case "y"
Case Else
ActiveCell.Interior.Color = RGB(255, 255, 255)
ActiveCell.Font.Color = RGB(0, 0, 0)
End Select
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Dim c
With Sheets("columnsheet").Range("d12:fz144")
Set c = .Find(batchNo, LookIn:=xlValues)
If Not c Is Nothing Then
Workbooks("Work In Process.xls").Activate
Worksheets("columnsheet").Activate
ActiveSheet.Range(c.Address).Activate
Select Case Target.Value
Case "x"
Case "y"
Case Else
ActiveCell.Interior.Color = RGB(255, 255, 255)
ActiveCell.Font.Color = RGB(0, 0, 0)
End Select
Workbooks("Work In Process.xls").Activate
Worksheets("rowsheet").Activate
End If
End With
End If
ElseIf (Target.count > 1) Then
'if entire row or rows are selected
End If
Application.ScreenUpdating = True
End Sub
我刪除了大部分的情況下,因爲他們變得更加混亂,但他們做的是改變文字顏色和背景顏色
你能告訴你的現有'Worksheet_Change'代碼?另外,我想我理解你的牀單是如何佈置的,但是希望在兩張牀單的圖像之前和之後都能看到。我認爲你所要求的可能可以做到。 –
我想我幾乎擁有它。您是在Process.xls中監測工作表中的工作表還是單獨的工作簿? –
與之相同的工作簿 – Liamck27