|
本帖最后由 大灰狼1976 于 2014-1-20 23:37 编辑
刚才给过你的,应该还有更简便的方法吧- Private Sub CommandButton1_Click()
- Dim arr, i&, j&, k&, n&, s$, s1$, l&, l1&, x&, y&
- arr = [d1].CurrentRegion
- n = 1
- For x = 16 To 17
- For j = 1 To UBound(arr, 2) - 1
- For k = 1 To 3
- l = 10: l1 = 10
- For i = x - 15 To x
- If i = x - 14 Or i = x - 2 Then n = -1
- l = l + n * Val(Mid(arr(i, j), k, 1))
- n = 1
- Next i
- For i = x + 2 To x + 17
- If i = x + 3 Or i = x + 6 Or i = x + 15 Then n = -1
- l1 = l1 + n * Val(Mid(arr(i, j), k, 1))
- n = 1
- Next i
- s = s & l Mod 10: s1 = s1 & l1 Mod 10
- Next k
- arr(x, j + 1) = s: s = ""
- arr(x + 17, j + 1) = s1: s1 = ""
- Next j
- Next x
- [d1].Resize(UBound(arr), UBound(arr, 2)) = arr
- End Sub
复制代码 |
|