首页 > 解决方案 > 设置两个不同的范围并执行代码

问题描述

我很感激任何帮助,因为我没有 vba 经验。

我想要做的是,当所选单元格属于 rng1 时,在工作表“数据”中,单元格处的值(例如 020318)会更改为 02/03/18 格式。

同时在每个单元格的 ED 列中都有一个求和公式。当这个总和小于零时,应该会弹出一个 msgbox

例如

Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next

Dim rng1 As Range
Dim rng2 As Range
Dim cell As Range
Set rng1 = ThisWorkbook.Sheets("DATA").Range("I3:I1000,O3:O1000,P3:P1000,AE3:AE1000,AF3:AF1000,AH3:AH1000,AI3:AI1000")
Set rng2 = ThisWorkbook.Sheets("DATA").Range("ED3:ED1000")
If Not Intersect(ActiveCell, Range("I3:I1000,O3:O1000,P3:P1000,AE3:AE1000,AF3:AF1000,AH3:AH1000,AI3:AI1000")) Is Nothing Then
For Each cell In rng1
If cell <> "" Then
If Len(cell) = 6 Then
cell.Value = Format(cell.Value, "00/00/00")
End If
End If
Next cell

For Each cell In rng2
If IsNumeric(cell) = True Then
If cell.Value < 0 Then MsgBox "Τhe salary " & Cells(cell.Row, 2).Value & "  before ....is " & Cells(cell.Row, 3).Value & " try more", vbCritical, "XXXXX"
End If
Next cell
End Sub

提前致谢

标签: excel

解决方案


推荐阅读