【问题标题】:Case Without Select Case for String Cases字符串案例的不选择案例的案例
【发布时间】:2018-05-04 17:59:52
【问题描述】:

我正在尝试为每个可以传入的不同字符串组合选择不同的大小写。在这种情况下,我使用棒球位置的缩写。

为了方便起见,我添加了一个名为“Position”的字符串值作为比较对象。

我目前收到错误:

编译错误:没有选择案例的案例

我认为这是某种格式错误,但我无法在网上找到任何可以修复它的东西。

Position = "test"
        Select Case Position
            Case "C"
                If C.DollarPerWar < Cells(i, 8).Value Then
                    Set C = AssignPlayer(C, CurrentPlayer)
            Case "1B"
                If B1.DollarPerWar < Cells(i, 8).Value Then
                    Set B1 = AssignPlayer(B1, CurrentPlayer)
            Case "2B"
                If B2.DollarPerWar < Cells(i, 8).Value Then
                    Set B2 = AssignPlayer(B2, CurrentPlayer)
            Case "3B"
                If B3.DollarPerWar < Cells(i, 8).Value Then
                    Set B3 = AssignPlayer(B3, CurrentPlayer)
            Case "SS"
                If SS.DollarPerWar < Cells(i, 8).Value Then
                    Set SS = AssignPlayer(SS, CurrentPlayer)
            Case "LF"
                If LF.DollarPerWar < Cells(i, 8).Value Then
                    Set LF = AssignPlayer(LF, CurrentPlayer)
            Case "CF"
                If CF.DollarPerWar < Cells(i, 8).Value Then
                    Set CF = AssignPlayer(CF, CurrentPlayer)
            Case "RF"
                If RF.DollarPerWar < Cells(i, 8).Value Then
                    Set RF = AssignPlayer(RF, CurrentPlayer)
        End Select

任何帮助将不胜感激!

【问题讨论】:

  • 您的If 都没有End If。要么将End If 添加到每个语句中,要么将整个if 语句放在一行中。
  • 正如@VictorK 提到的,将 End if 添加到您的 IF 或使用此`IF`条件THEN: 语句。
  • FWIW 使用indenter (注​​意:在线演示需要一个实际的范围,即你需要Sub...End Sub 才能工作)会使问题变得相当明显;-)跨度>

标签: vba excel case select-case


【解决方案1】:

在你的 if 语句中终止你的新行。它们应该是一行,如下所示:

If RF.DollarPerWar < Cells(i, 8).Value Then Set RF = AssignPlayer(RF, CurrentPlayer)

【讨论】:

  • 或者,将End If 添加到下面的行中。
  • 是的,但除非有其他要求,否则不需要这样做。少即是美?
  • 如果你不打算使用End If,我认为使用续行符_ 而不是全部写成一行会更容易阅读。
猜你喜欢
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 1970-01-01
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多