返回列表 上一主題 發帖

[已解決]數字與區間的比較

[已解決]數字與區間的比較

本帖最後由 jiuhtsair 於 2012-2-7 22:58 編輯

各位大大好: 數字與區塊比較.zip (1.44 KB)
    小弟想要將一個隨意輸入的數字,判斷他在何者區間,除了利用倆倆比較之外,是否有更好的方式?謝謝!
    例如:在a2欄有一個數字23...我想判斷他是在c欄10,20,30,40,50,60,70,80,90.100這些數字的哪兩個之間。
    直接判斷當然知道是在20與30之間,但是,如何利用vba寫指令或程式來判斷呢?
      懇請大大指導,謝謝!
50 字節以內
不支持自定義 Discuz! 代碼

回復 4# GBKEE
謝謝GBKEE大大提供不同解題方式,讓小弟對指令的運用有更多的了解。
感恩!謝謝!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

RE: [已解決]數字與區間的比較

回復 6# GBKEE

可以運作了,謝謝指正.

TOP

回復 5# PJChen
  1. Sub judge()
  2. If [A2] >= 10 And [A2] <= 100 Then
  3. a = Application.Lookup([A2], [C2:C11])
  4. b = Application.Lookup([A2], [C2:C11], [C3:C12])
  5. MsgBox [A2] & "介於" & a & "與" & b & "之間"
  6. End If
  7. End Sub
複製代碼

TOP

回復 2# Hsieh

版大您好,
我將您寫的程式放在excel中,但卻不知如何讓它執行,我將檔案上傳,請你指導!
數字與區塊比較.zip (9.23 KB)

TOP

回復 1# jiuhtsair
完全判斷
   
  1. Sub Ex()
  2.     Dim A, Rng As Range, S As String
  3.     Set Rng = [C2:C11]
  4.     A = Application.Match([A2], Rng, 1)
  5.     If IsError(A) Then
  6.          S = [A2] & " :  <= " & Rng(1)
  7.     ElseIf A = 1 Then
  8.         S = [A2] & " :  <= " & Rng(1)
  9.     ElseIf A = Rng.Count Then
  10.         S = [A2] & " : >=" & Rng(A)
  11.     Else
  12.         If [A2] = Rng(A) Then
  13.             S = [A2] & " : " & Rng(A - 1) & "  <->  " & Rng(A)
  14.         Else
  15.             S = [A2] & " : " & Rng(A) & "  <->  " & Rng(A + 1)
  16.         End If
  17.     End If
  18.     MsgBox S
  19. End Sub
複製代碼

TOP

回復 2# Hsieh
感謝大大指導...一試OK!
程式簡潔,小弟原先想用兩兩比較..工程浩大且無效率..
感謝解惑!謝謝!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 Hsieh 於 2012-2-7 22:39 編輯

回復 1# jiuhtsair

If [A2] >= 10 And [A2] <= 100 Then
a = Application.Lookup([A2], [C2:C11])
b = Application.Lookup([A2], [C2:C11], [C3:C12])
MsgBox [A2] & "介於" & a & "與" & b & "之間"
End If
學海無涯_不恥下問

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題