Private Sub Worksheet_Activate()
Dim le, ri, i, j As Integer
For i = 3 To 13 '假定是11行,如果希望是万用的,那就使用另外一个函数来判断A列有多少行,在此就不提了
For j = 2 To 256 '每行最多256列
If Sheet1.Cells(i, j) <> "" Then
le = j '找出左边(left)第一个数的列号
Exit For
End If
Next j
For j = 256 To 2 Step -1 '每行最多256列
If Sheet1.Cells(i, j) <> "" Then
ri = j '找出右边(right)第一个数的列号
Exit For
End If
Next j
If le <> ri Then
Sheet1.Cells(i, 1) = Sheet1.Cells(i, le) - Sheet1.Cells(i, ri) '这是直接计算,当然也可以用写入公式法,不过你如果只要结果的话这样最方便了!
Else
Sheet1.Cells(i, 1) = Sheet1.Cells(i, le) '如果 le =ri ,说明当前行只有一个数据,那么就不计算
End If
Next i
End Sub