多语言展示
当前在线:1166今日阅读:97今日分享:45

怎样通过excel计算出九宫格

通过VBA编程计算出九宫格;九宫格:1至9九个数字,横竖都有3个格,思考怎么使每行、每列两个对角线上的三数之和都等于15。
工具/原料

excel

方法/步骤
1

右键点击工具栏,调出“控件工具栏”;

2

在控件工具栏中,选择“按钮”,并绘制出一个“按钮”,右键点击“按钮”,查看属性;在属性中将caption一项改为“九宫格计算”;

3

双击“按钮”或者右键点击查看代码;进入代码模式;

4

在代码中,将九个单元格(A1:C3)赋值;赋值过程如图;

5

因为数字1~9在九个单元格都只有一个,故只要统计数字1~9的个数都等于1,九宫格就算出来了;统计个数;

6

判断个数是否等于1;

7

返回excel表格;退出设计模式;点击按钮后,excel自动计算出九宫格;

8

改程序所有语句如下:Private Sub CommandButton1_Click()For j = 1567 To 9543Sheet1.Cells(1, 1) = Int(j / 1000)Sheet1.Cells(1, 2) = Int(j / 100) Mod 10Sheet1.Cells(2, 1) = Int(j / 10) Mod 10Sheet1.Cells(2, 2) = j Mod 10Sheet1.Cells(1, 3) = 15 - Sheet1.Cells(1, 2) - Sheet1.Cells(1, 1)Sheet1.Cells(2, 3) = 15 - Sheet1.Cells(2, 2) - Sheet1.Cells(2, 1)Sheet1.Cells(3, 1) = 15 - Sheet1.Cells(1, 1) - Sheet1.Cells(2, 1)Sheet1.Cells(3, 2) = 15 - Sheet1.Cells(2, 2) - Sheet1.Cells(1, 2)Sheet1.Cells(3, 3) = 15 - Sheet1.Cells(1, 1) - Sheet1.Cells(2, 2)    If Sheet1.Cells(3, 1) = 15 - Sheet1.Cells(3, 2) - Sheet1.Cells(3, 3) And Sheet1.Cells(3, 3) = 15 - Sheet1.Cells(1, 3) - Sheet1.Cells(2, 3) And Sheet1.Cells(1, 3) = 15 - Sheet1.Cells(3, 1) - Sheet1.Cells(2, 2) Then                a = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 1 Then                a = a + 1                End If                Next                Next                                      b = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 2 Then                b = b + 1                End If                Next                Next                                    c = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 3 Then                c = c + 1                End If                Next                Next                                     d = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 4 Then                d = d + 1                End If                Next                Next                                      e = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 5 Then                e = e + 1                End If                Next                Next                                            f = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 6 Then                f = f + 1                End If                Next                Next                                      h = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 7 Then                h = h + 1                End If                Next                Next                                      m = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 8 Then                m = m + 1                End If                Next                Next                                            n = 0                For i = 1 To 3                For k = 1 To 3                If Sheet1.Cells(i, k) = 9 Then                n = n + 1                End If                Next                Next                                If a = 1 And b = 1 And c = 1 And d = 1 And e = 1 And f = 1 And h = 1 And m = 1 And n = 1 Then                Exit Sub                 End If    End If  NextEnd Sub

注意事项
1

该教程适宜于有一定VB基础的人;

2

没有VB基础的可以在双击按钮后,将教程后的代码复制粘贴到代码模式中;粘贴时注意覆盖原有代码。

推荐信息