簡體   English   中英

VBA Excel功能語法

[英]VBA excel function syntax

我需要編寫一個excel宏,以讀取三角形邊的長度並檢查此三角形是否存在,如果存在,宏也應定義三角形的類型,然后輸出結果。 這是我的代碼-

Public Function tri(a, b, c)
    Public answer As String
    If a + b <= c Or b + c <= a Or c + a <= b Then
        answer = "triangle doesn't exist"
    ElseIf a = b = c Then
        answer = "eq triangle"
    ElseIf a = b Or c = a Or b = c Then
        answer = "isosceles triangle"
    ElseIf (a + b) ^ 2 = c ^ 2 Or (a + c) ^ 2 = b ^ 2 Or (c + b) ^ 2 = a ^ 2 Then
        answer = "right triangle"
    Else
        answer = "regular triangle"
    End If
    ActiveCell = answer
End Function

我將不勝感激。

我們必須:

  1. 修復Dim
  2. 返回答案:



Public Function tri(a, b, c) As String
    Dim answer As String
    If a + b <= c Or b + c <= a Or c + a <= b Then
        answer = "triangle doesn't exist"
    ElseIf a = b = c Then
        answer = "eq triangle"
    ElseIf a = b Or c = a Or b = c Then
        answer = "isosceles triangle"
    ElseIf (a + b) ^ 2 = c ^ 2 Or (a + c) ^ 2 = b ^ 2 Or (c + b) ^ 2 = a ^ 2 Then
        answer = "right triangle"
    Else
        answer = "regular triangle"
    End If

    tri = answer
End Function

在此處輸入圖片說明

我認為Select Case在這種情況下是更合適的語法

此外,您可以擺脫支持變量

Public Function tri(a, b, c) As String
    Select Case True
        Case a + b <= c Or b + c <= a Or c + a <= b
            tri = "triangle doesn't exist"
        Case a = b = c
            tri = "eq triangle"
        Case a = b Or c = a Or b = c
            tri = "isosceles triangle"
        Case (a + b) ^ 2 = c ^ 2 Or (a + c) ^ 2 = b ^ 2 Or (c + b) ^ 2 = a ^ 2
            tri = "right triangle"
        Case Else
            tri = "regular triangle"
    End Select
End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM