|
|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
- Option Explicit
- Private Sub CommandButton1_Click()
- Dim r&, c&, r1&, c1&, r2&, c2&, i&
- Dim m1&, m2&, m3&, m&()
- Dim n&, n1&, n2&
- Dim ms As String
- Dim dr As Variant
- Dim dc As Variant
- For c = 2 To 14 '还原黑色
- For r = 3 To 19
- Cells(r, c).Font.ColorIndex = 0
- Next
- Next
- '取得数值
- ms = Range("q2").Value
- m1 = Val(Mid(ms, 1, 1))
- m2 = Val(Mid(ms, 2, 1))
- m3 = Val(Mid(ms, 3, 1))
- ReDim m(0 To 9)
- m(m1) = 1
- m(m2) = m(m2) + 1
- m(m3) = m(m3) + 1
- '行列增加值
- dr = Array(0, 1, 0, -1)
- dc = Array(1, 0, -1, 0)
- '循环
- For c = 2 To 14
- For r = 3 To 19
-
- n = Cells(r, c)
- If m(n) <> 0 Then 'n为其中一个数
- m(n) = m(n) - 1
- r2 = r + dr(3)
- c2 = c + dc(3)
- For i = 0 To 3
- r1 = r2
- c1 = c2
- r2 = r + dr(i)
- c2 = c + dc(i)
- If r1 >= 3 And r1 <= 19 And c1 >= 2 And c1 <= 14 And _
- r2 >= 3 And r2 <= 19 And c2 >= 2 And c2 <= 14 Then '是否超范围
-
- n1 = Cells(r1, c1)
- n2 = Cells(r2, c2)
- '是否符合条件
- If m(n1) <> 0 Then 'n1为其中一个数
- m(n1) = m(n1) - 1
- If m(n2) <> 0 Then 'n2为其中一个数
-
- Cells(r, c).Font.ColorIndex = 3
- Cells(r1, c1).Font.ColorIndex = 3
- Cells(r2, c2).Font.ColorIndex = 3
-
- m(n2) = 1
-
- End If
- m(n1) = m(n1) + 1
- End If
- End If
- Next
- m(n) = m(n) + 1
- End If
-
- Next
- Next
- End Sub
- Private Sub CommandButton2_Click()
- Dim r&, c&, r1&, c1&, r2&, c2&, i&
- Dim m1&, m2&, m3&, m&()
- Dim n&, n1&, n2&
- Dim ms As String
- Dim dr As Variant
- Dim dc As Variant
- For c = 2 To 14 '还原黑色
- For r = 3 To 19
- Cells(r, c).Font.ColorIndex = 0
- Next
- Next
- '取得数值
- ms = Range("q2").Value
- m1 = Val(Mid(ms, 1, 1))
- m2 = Val(Mid(ms, 2, 1))
- m3 = Val(Mid(ms, 3, 1))
- ReDim m(0 To 9)
- m(m1) = 1
- m(m2) = m(m2) + 1
- m(m3) = m(m3) + 1
- '行列增加值
- dr = Array(0, 2, 0, -2)
- dc = Array(2, 0, -2, 0)
- '循环
- For c = 2 To 14
- For r = 3 To 19
-
- n = Cells(r, c)
- If m(n) <> 0 Then 'n为其中一个数
- m(n) = m(n) - 1
- r2 = r + dr(3)
- c2 = c + dc(3)
- For i = 0 To 3
- r1 = r2
- c1 = c2
- r2 = r + dr(i)
- c2 = c + dc(i)
- If r1 >= 3 And r1 <= 19 And c1 >= 2 And c1 <= 14 And _
- r2 >= 3 And r2 <= 19 And c2 >= 2 And c2 <= 14 Then '是否超范围
-
- n1 = Cells(r1, c1)
- n2 = Cells(r2, c2)
- '是否符合条件
- If m(n1) <> 0 Then 'n1为其中一个数
- m(n1) = m(n1) - 1
- If m(n2) <> 0 Then 'n2为其中一个数
-
- Cells(r, c).Font.ColorIndex = 4
- Cells(r1, c1).Font.ColorIndex = 4
- Cells(r2, c2).Font.ColorIndex = 4
-
- m(n2) = 1
-
- End If
- m(n1) = m(n1) + 1
- End If
- End If
- Next
- m(n) = m(n) + 1
- End If
-
- Next
- Next
- End Sub
- Private Sub CommandButton3_Click()
- Dim r&, c&, r1&, c1&, r2&, c2&, i&, k&
- Dim m1&, m2&, m3&, m&()
- Dim n&, n1&, n2&
- Dim ms As String
- Dim dr As Variant
- Dim dc As Variant
- For c = 2 To 14 '还原黑色
- For r = 3 To 19
- Cells(r, c).Font.ColorIndex = 0
- Next
- Next
- '取得数值
- ms = Range("q2").Value
- m1 = Val(Mid(ms, 1, 1))
- m2 = Val(Mid(ms, 2, 1))
- m3 = Val(Mid(ms, 3, 1))
- ReDim m(0 To 9)
- m(m1) = 1
- m(m2) = m(m2) + 1
- m(m3) = m(m3) + 1
- '行列增加值
- dr = Array(2, 2, -2, -2, 1, -1, 1, -1)
- dc = Array(1, -1, 1, -1, 2, 2, -2, -2)
- '循环
- For c = 2 To 14
- For r = 3 To 19
-
- n = Cells(r, c)
- If m(n) <> 0 Then 'n为其中一个数
- m(n) = m(n) - 1
-
- For i = 0 To 3
- k = i * 2
- r1 = r + dr(k)
- c1 = c + dc(k)
- r2 = r + dr(k + 1)
- c2 = c + dc(k + 1)
- If r1 >= 3 And r1 <= 19 And c1 >= 2 And c1 <= 14 And _
- r2 >= 3 And r2 <= 19 And c2 >= 2 And c2 <= 14 Then '是否超范围
-
- n1 = Cells(r1, c1)
- n2 = Cells(r2, c2)
- '是否符合条件
- If m(n1) <> 0 Then 'n1为其中一个数
- m(n1) = m(n1) - 1
- If m(n2) <> 0 Then 'n2为其中一个数
-
- Cells(r, c).Font.ColorIndex = 5
- Cells(r1, c1).Font.ColorIndex = 5
- Cells(r2, c2).Font.ColorIndex = 5
-
- m(n2) = 1
-
- End If
- m(n1) = m(n1) + 1
- End If
- End If
- Next
- m(n) = m(n) + 1
- End If
-
- Next
- Next
- End Sub
复制代码
如何改变字体颜色.rar
(21.27 KB, 下载次数: 4)
|
评分
-
1
查看全部评分
-
|