簡體   English   中英

Excel宏,合並兩個專用子工作表

[英]Excel Macro, Combining two Private Sub worksheet_change

我在此站點之前進行過搜索,但是在我的代碼中找不到真正的案例。 希望這里有人可以幫助我。 下面如何合並兩個私有子?

第一個代碼

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("P:P")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
Dim NR As Long
With Application
  .EnableEvents = False
  .ScreenUpdating = False
  Select Case Target.Value
    Case "CLOSED"
      NR = Worksheets("Closed").Range("D1500").End(xlUp).Offset(1).Row
      Range("B" & Target.Row & ":P" & Target.Row).Copy Worksheets("Closed").Range("B" & NR)
      Rows(Target.Row).Delete
    Case "Re-handover"
      NR = Worksheets("Handover").Range("D1500").End(xlUp).Offset(1).Row
      Range("E" & Target.Row & ":O" & Target.Row).Copy Worksheets("Handover").Range("E" & NR)
      ' Rows(Target.Row).Delete
      End Select
  .EnableEvents = True
  .ScreenUpdating = True
End With
End Sub

第二碼

Option Explicit
Public preValue As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 15 Then Exit Sub
    Target.ClearComments
Target.AddComment.Text Text:="Updated " & Format(Date, "dd mmm yyyy") & " " & Format(Time, "hh:mm") & Chr(10) & "By " & Environ("UserName")
End Sub

非常感謝你

這行得通嗎?

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

*If target.column=15 then
    Target.ClearComments
    Target.AddComment.Text Text:="Updated " & Format(Date, "dd mmm yyyy") & " " & Format(Time, "hh:mm") & Chr(10) & "By " & Environ("UserName")
else
endif *


If Intersect(Target, Range("P:P")) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Dim NR As Long
With Application
  .EnableEvents = False
  .ScreenUpdating = False
  Select Case Target.Value
    Case "CLOSED"
      NR = Worksheets("Closed").Range("D1500").End(xlUp).Offset(1).Row
      Range("B" & Target.Row & ":P" & Target.Row).Copy Worksheets("Closed").Range("B" & NR)
      Rows(Target.Row).Delete
    Case "Re-handover"
      NR = Worksheets("Handover").Range("D1500").End(xlUp).Offset(1).Row
      Range("E" & Target.Row & ":O" & Target.Row).Copy Worksheets("Handover").Range("E" & NR)
      ' Rows(Target.Row).Delete
      End Select
  .EnableEvents = True
  .ScreenUpdating = True
End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM