返回列表 上一主題 發帖

設計一個對獎程式

回復 6# flutist
  1. Option Explicit
  2. Sub Ex()
  3.     Dim 期別 As Range, Msg As String, xi As Integer, xS As Integer
  4.     With Sheets("Sheet1")
  5.         .[B2:B7].Name = "投注區"
  6.         Set 期別 = Sheets("sheet2").Range("a:a").Find(.[a2], lookat:=xlWhole)       '尋找期別
  7.         Msg = IIf(期別 Is Nothing, "期    別:" & .[a2] & " 找不到!!! " & vbLf, "") & _
  8.               IIf([COUNT(投注區)] <> 6, "投注區: 號碼不齊全", "")                   '[COUNT(投注區)] <> 6 投注號碼需有6個
  9.         If Msg <> "" Then MsgBox Msg: Exit Sub
  10.         [投注區].Interior.ColorIndex = .[a2].Interior.ColorIndex                    '制定投注區底色
  11.         For xi = 1 To 7
  12.             If IsNumeric(Application.Match(期別.Offset(, xi), [投注區], 0)) Then    '開出獎號一一比對   投注號碼
  13.                 If xi < 6 Then
  14.                  xS = xS + 1
  15.                  [投注區].Cells(Application.Match(期別.Offset(, xi), [投注區], 0)).Interior.ColorIndex = 17  '開出號號:制定底色
  16.                 Else
  17.                   Msg = "OK"        '特別號
  18.                   [投注區].Cells(Application.Match(期別.Offset(, xi), [投注區], 0)).Interior.ColorIndex = 7   '特別號:制定底色
  19.                 End If
  20.             End If
  21.         Next
  22.         With .[D2]
  23.             Select Case xS
  24.                 Case 6
  25.                     .Value = "「恭喜你對中頭獎」"
  26.                 Case 5
  27.                     .Value = IIf(Msg <> "", "「恭喜你對中貳獎」", "「恭喜你對中參獎」")
  28.                 Case 4
  29.                     .Value = IIf(Msg <> "", "「恭喜你對中肆獎」", "「恭喜你對中伍獎」")
  30.                 Case 3
  31.                     .Value = IIf(Msg <> "", "「恭喜你對中陸獎」", "「獎金$1,000」")
  32.                 Case 2
  33.                     .Value = IIf(Msg <> "", "「恭喜你對中普獎」", "「獎金$400」")
  34.                 Case Else
  35.                 .Value = "下期再來"
  36.             End Select
  37.         End With
  38.     End With
複製代碼

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題