【问题标题】:VBA If True add one value to anotherVBA If True 添加一个值到另一个
【发布时间】:2016-11-04 14:41:53
【问题描述】:

我正在学习 VBA,所以我对它非常陌生。我正在创建一个骰子游戏来练习和修改代码。我正在尝试找到一种方法来从他拥有的金额中添加或减去用户下注的金额。因此,如果他猜得更接近掷出的骰子,他将赢并赢得他下注的金额,并将其添加到他的余额中。我的问题是试图弄清楚如何从余额中增加或减少下注金额。我正在尝试使用 If 语句,说明如果玩家获胜,则将赌注添加到余额中,如果他输了,则从余额中减去赌注。在 VBA 中执行此操作的最佳方法是什么?感谢您提供的任何帮助。

Sub CommandButton1_Click()
Dim bet As Integer
Dim balance As Integer
Dim player As Integer
Dim computer As Integer

bet = Range("B11").Value
balance = Range("A14").Value
player = Range("A19").Value
computer = Range("L19").Value
Range("D14").Value = 5000

Beep

If bet < balance Then Worksheets(1).Calculate
If player < computer Then MsgBox "You Won!"
If player > computer Then MsgBox "You Lost!"
If player = computer Then MsgBox "It's a Tie!"

If player < computer Then Range("D14").Value bet

If player > computer Then

End Sub

Game and Code

编辑:添加代码

【问题讨论】:

  • 能否将您的代码复制/粘贴到您的问题中 - 屏幕截图很难复制/粘贴到我计算机上的 VBE 中。

标签: vba excel if-statement excel-2010


【解决方案1】:
If player < computer Then Range("D14").Value = Range("D14").Value + bet

If player > computer Then Range("D14").Value = Range("D14").Value - bet

或者您可以将区域更改为此

Beep

If bet < balance Then Worksheets(1).Calculate
If player < computer Then MsgBox "You Won!": Range("D14").Value = Range("D14").Value + bet
If player > computer Then MsgBox "You Lost!": Range("D14").Value = Range("D14").Value - bet
If player = computer Then MsgBox "It's a Tie!"

End Sub

【讨论】:

    【解决方案2】:

    您可以使用诸如

    之类的 IIF 来返回您所要求的内容
    if Computer<>Player then Range("D14").Value=Range("D14").Value + iif(Player>Computer,(0-dblStake),Stake‌​) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多