Game Guess Name in Excel VBA


The main point of the game introduce about variable type , condition and Loop.
- Variable declare as Integer and String
- Condition: if Then Else
If (condition)
‘This block of code executes if the condition is true

 Else
‘This block of code executes if the condition is false.
End If
 

- Condition Select/Case
 Select Case expression
 Case condition1
  ‘This block of code executes if condition1 is true.
Case condition2
‘This block of code executes if condition2 is true.
‘There is no limit on the number of cases you can use
Case Else
‘This block of code executes if none of the other conditions were true.
End Select

- For Loop
 For variable = start To end Step value‘Block of code
Next variable



We will show code to write funny game
Design Layout
1/ Cell Design
Private Sub guessDesign()

Range("C2").Value = "1"
Range("C3").Value = "A"
Range("C4").Value = "J"
Range("C5").Value = "S"

Range("D2").Value = "2"
Range("D3").Value = "B"
Range("D4").Value = "K"
Range("D5").Value = "T"

Range("E2").Value = "3"
Range("E3").Value = "C"
Range("E4").Value = "L"
Range("E5").Value = "U"

Range("F2").Value = "4"
Range("F3").Value = "D"
Range("F4").Value = "M"
Range("F5").Value = "V"

Range("G2").Value = "5"
Range("G3").Value = "E"
Range("G4").Value = "N"
Range("G5").Value = "W"

Range("H2").Value = "6"
Range("H3").Value = "F"
Range("H4").Value = "O"
Range("H5").Value = "X"

Range("I2").Value = "7"
Range("I3").Value = "G"
Range("I4").Value = "P"
Range("I5").Value = "Y"

Range("J2").Value = "8"
Range("J3").Value = "H"
Range("J4").Value = "Q"
Range("J5").Value = "Z"

Range("K2").Value = "9"
Range("K3").Value = "I"
Range("K4").Value = "R"

Range("C2:K25").Font.name = "cambria"
Range("C2:K5").VerticalAlignment = xlCenter
Range("C2:K5").Borders.Weight = xlThick
Range("C2:K5").Font.Bold = True
Range("C2:K5").Borders.Color = vbRed

Range("C7").Value = "Name:"
Range("C7:E7").MergeCells = True
Range("F7:J7").MergeCells = True
Range("C8").Value = "Result In Number:"
Range("C8:E8").MergeCells = True
Range("F8:J8").MergeCells = True
Range("C7:J8").Borders.Weight = xlThick
Range("C7:J8").Borders.Color = vbRed
Range("C12").Value = "Description"
Range("C12:K12").MergeCells = True
Range("C13:K25").MergeCells = True
Range("C12:K25").Borders.Weight = xlThick

End Sub


2/ Code Button
 - Clear Button
  Name: cmdClear
  Caption: Clear 

Code for clear button

Private Sub cmdClear_Click()
  Range("C13:K25").Cells.ClearContents
End Sub


- Guess Name Button
 Name: cmdGuessName
 Caption: Guess Name


Code for Guess Name  button

Private Sub cmdGuessName_Click()
    Dim num As Integer
    Dim name As String
    Dim namEach As String
    Dim strLength As Integer
    Dim i As Integer
    Dim strLenNum As Integer
    Dim numEach As Integer
    Dim result As Integer
    Dim description As String
   
    i = 1
    num = 0
    numEach = 0
    result = 0
    name = UCase(InputBox("Put your name", "Name"))
    If (name = "") Then
        MsgBox ("Please put the name in box!")
    End If
    'Cut string name
        strLength = Len(name)
        For i = 1 To strLength
            namEach = Mid(name, i, 1)
            If (namEach = "A") Or (namEach = "J") Or (namEach = "S") Then num = num + 1
            If (namEach = "B") Or (namEach = "K") Or (namEach = "T") Then num = num + 2
            If (namEach = "C") Or (namEach = "L") Or (namEach = "U") Then num = num + 3
            If (namEach = "D") Or (namEach = "M") Or (namEach = "V") Then num = num + 4
            If (namEach = "E") Or (namEach = "N") Or (namEach = "W") Then num = num + 5
            If (namEach = "F") Or (namEach = "O") Or (namEach = "X") Then num = num + 6
            If (namEach = "G") Or (namEach = "P") Or (namEach = "Y") Then num = num + 7
            If (namEach = "H") Or (namEach = "Q") Or (namEach = "Z") Then num = num + 8
            If (namEach = "I") Or (namEach = "R") Then num = num + 9
        Next i
       
        'Condition if num is bigger than 9
        strLenNum = Len(num)
        If (num > 9) Then
            For i = 1 To strLenNum
                numEach = Mid(num, i, 1)
                result = numEach + result
            Next i
           
        Else
            result = num
        End If
    Range("F7").Value = name
    Range("F8").Value = result
   
    'Show description of name guess
    Select Case result
        Case Is = 1
            description = "Description Number1"
         Case Is = 2
            description = "Description Number2"
         Case Is = 3
            description = "Description Number3"
         Case Is = 4
            description = "Description Number4"
         Case Is = 5
            description = "Description Number5"
         Case Is = 6
            description = "Description Number6"
         Case Is = 7
            description = "Description Number7"
         Case Is = 8
            description = "Description Number8"
         Case Is = 9
            description = "Description Number9"
         Case Else
            description = "Let check it again"
        
    End Select
   
        Range("C13").Value = description
   
End Sub


Please enjoy it 

Post a Comment

Previous Post Next Post