Excel VBA多个If的快捷方式

问题描述 投票:0回答:1

我正在编写此VBA,并提出了多个if编码,我想知道是否存在缩短此代码的捷径。

Private Sub CommandButton1_Click()
If Range("B15").Value = 6 Then
 MsgBox "Maximum Beams Reached (7)", vbCritical
    Exit Sub

End If
 Range("B15").Value = Range("B15").Value + 1
      Columns(colNum & "D").Insert Shift:=xlDown
 Range("D3:D13").Borders(xlInsideHorizontal).LineStyle = xlContinuous
  Range("D3:D13").Borders(xlEdgeRight).LineStyle = xlContinuous

 If Range("B15").Value = 1 Then
  Range("D15").Value = "Beam Summary"
  Range("D16").Value = "  Concrete Volume"
  Range("D17").Value = "  Rebar Length"
  End If

 If Range("B15").Value = 1 Then
 Range("D3").Value = "Beam " & Range("B15").Value + 1
 Else
     If Range("B15").Value = 2 Then
  Range("D3").Value = "Beam " & Range("B15").Value
  Range("E3").Value = "Beam " & Range("B15").Value + 1
  Else
      If Range("B15").Value = 3 Then
  Range("D3").Value = "Beam " & Range("B15").Value - 1
  Range("E3").Value = "Beam " & Range("B15").Value
  Range("F3").Value = "Beam " & Range("B15").Value + 1

 End If
 End If
End If


End Sub

任何人都可以帮助我缩短此验证码吗?

excel vba
1个回答
0
投票

使用特定案例:

Private Sub CommandButton1_Click()
    If Range("B15").Value = 6 Then
        MsgBox "Maximum Beams Reached (7)", vbCritical
        Exit Sub
    End If
    Range("B15").Value = Range("B15").Value + 1
    Columns(colNum & "D").Insert Shift:=xlDown
    Range("D3:D13").Borders(xlInsideHorizontal).LineStyle = xlContinuous
    Range("D3:D13").Borders(xlEdgeRight).LineStyle = xlContinuous
    Select Case Range("b15").Value
        Case 1
            Range("D15").Value = "Beam Summary"
            Range("D16").Value = "  Concrete Volume"
            Range("D17").Value = "  Rebar Length"
        Case 2
            Range("D3").Value = "Beam " & Range("B15").Value
            Range("E3").Value = "Beam " & Range("B15").Value + 1
        Case 3
            Range("D3").Value = "Beam " & Range("B15").Value - 1
            Range("E3").Value = "Beam " & Range("B15").Value
            Range("F3").Value = "Beam " & Range("B15").Value + 1
    End Select
© www.soinside.com 2019 - 2024. All rights reserved.