|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
有空再通过VBA把线条画出来就可以说彻底完成啦。- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Address = "$A$1" Then
- If [a1] = 0 Then n = InputBox("", "", 11) Else n = [a1]
- [c3].Resize(n, n).Name = "Rng"
- Call kagawa(n)
- End If
- End Sub
- Sub kagawa(n)
-
- [b2:az52].Clear
- [c3].Resize(n, n) = 1
-
- '婲揰
- [b2].Offset(n).Activate
- ActiveCell.Interior.ColorIndex = 8
- ActiveCell = ChrW(8594)
-
- '墶慄1(悈暯慄1)
- For i = 1 To n + 1
- ActiveCell.Offset(, 1).Activate
- ActiveCell.Interior.ColorIndex = 6
- If ActiveCell = 1 Then ActiveCell = "*"
- Next
- ActiveCell = ChrW(8598)
- k = k + 1
-
- '塃幬慄1
- For i = 1 To n
- ActiveCell.Offset(-1, -1).Activate
- ActiveCell.Interior.ColorIndex = 6
- If ActiveCell = 1 Then ActiveCell = "*"
- Next
- ActiveCell = ChrW(8595)
- k = k + 1
-
-
- '廲慄1(悅捈慄1)
- y = Round((2 * n - 4) / 3)
- t = Int((n - 1) / 3)
- For i = 1 To n + t
- ActiveCell.Offset(1).Activate
- ActiveCell.Interior.ColorIndex = 6
- If ActiveCell = 1 Then ActiveCell = "*" Else If ActiveCell = "" Then ActiveCell = ChrW(8595)
- Next
- ActiveCell = ChrW(8599)
- k = k + 1
-
- '嵍幬慄丄墶慄丄廲慄丂孞傝曉偡
- For j = 1 To y
- For i = 1 To n + t - j
- ActiveCell.Offset(-1, 1).Activate
- ActiveCell.Interior.ColorIndex = 6
- If ActiveCell = 1 Then ActiveCell = "*" Else If ActiveCell = "" Then ActiveCell = ChrW(8599)
- Next
- ActiveCell = ChrW(8592)
- k = k + 1
- If Application.Sum(Range("Rng")) = 0 Then Exit For
-
- For i = 1 To n + t - j - 1
- ActiveCell.Offset(, -1).Activate
- ActiveCell.Interior.ColorIndex = 6
- If ActiveCell = 1 Then ActiveCell = "*" Else If ActiveCell = "" Then ActiveCell = ChrW(8592)
- Next
- k = k + 1
- If Application.Sum(Range("Rng")) = 0 Then Exit For
-
- For i = 1 To n + t - j
- ActiveCell.Offset(1).Activate
- ActiveCell.Interior.ColorIndex = 6
- If ActiveCell = 1 Then ActiveCell = "*" Else If ActiveCell = "" Then ActiveCell = ChrW(8595)
- Next
- ActiveCell = ChrW(8599)
- k = k + 1
- If Application.Sum(Range("Rng")) = 0 Then Exit For
- Next
-
- ActiveCell.Interior.ColorIndex = 8
- ActiveCell = ChrW(9678)
- Application.StatusBar = n & "x" & n & " = " & k & " (t= " & t & ")"
-
- End Sub
复制代码 |
|