返回列表 上一主題 發帖

[發問] 有問題請教>"<

試看看能否解決您的問題,G1輸入值即啟動程式

TEST.rar (12.9 KB)

G1 輸入值即可啟動

TOP

抱歉! 沒注意您的權限
將G1輸入數字即可啟動程式

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$1" Then
        Dim I As Long
        Dim J As Long
      
        Application.ScreenUpdating = False
        Call LASTCell(J)
  For I = 2 To J
    If Len(Sheets("SHEET1").Range("C" & I)) = 18 Or Right(Sheets("SHEET1").Range("C" & I), 1) = "N" Then
      Sheets("SHEET1").Range("D" & I) = "新"
    End If
     
    If Len(Sheets("SHEET1").Range("C" & I)) = 15 Then
      Sheets("SHEET1").Range("D" & I) = "舊"
   
     If Sheets("SHEET1").Range("A" & I) <> Sheets("SHEET1").Range("A" & I + 1) Then
      Call INSERT(I)
      Sheets("SHEET1").Range("A" & I + 1 & ":D" & I + 1).Value = Sheets("SHEET1").Range("A" & I & ":D" & I).Value
      Sheets("SHEET1").Range("C" & I + 1) = Left(Sheets("SHEET1").Range("C" & I), 6) & "19" & Right(Sheets("SHEET1").Range("C" & I), 9) & "N"
      Sheets("SHEET1").Range("D" & I + 1) = "新"
      I = I + 1
      J = J + 1
     End If
   End If
  Next
End If
End Sub
Sub LASTCell(J As Long)
     With Sheets("SHEET1").Range("A:A")
         Set X = .Find(What:="", After:=.Cells(.Cells.Count), _
             LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
         If Not X Is Nothing Then J = X.Row + 2
     End With
End Sub
Sub INSERT(I As Long)
'
    Rows(I + 1 & ":" & I + 1).Select
    Selection.INSERT Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

執行前.jpg (211.91 KB)

執行前.jpg

執行後.jpg (219.54 KB)

執行後.jpg

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題