Board logo

標題: [已解決]數字與區間的比較 [打印本頁]

作者: jiuhtsair    時間: 2012-2-7 21:50     標題: [已解決]數字與區間的比較

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

各位大大好:[attach]9482[/attach]
    小弟想要將一個隨意輸入的數字,判斷他在何者區間,除了利用倆倆比較之外,是否有更好的方式?謝謝!
    例如:在a2欄有一個數字23...我想判斷他是在c欄10,20,30,40,50,60,70,80,90.100這些數字的哪兩個之間。
    直接判斷當然知道是在20與30之間,但是,如何利用vba寫指令或程式來判斷呢?
      懇請大大指導,謝謝!
作者: Hsieh    時間: 2012-2-7 22:37

本帖最後由 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
作者: jiuhtsair    時間: 2012-2-7 22:50

回復 2# Hsieh
感謝大大指導...一試OK!
程式簡潔,小弟原先想用兩兩比較..工程浩大且無效率..
感謝解惑!謝謝!
作者: GBKEE    時間: 2012-2-8 11:34

回復 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
複製代碼

作者: PJChen    時間: 2012-2-8 11:46

回復 2# Hsieh

版大您好,
我將您寫的程式放在excel中,但卻不知如何讓它執行,我將檔案上傳,請你指導!
[attach]9490[/attach]
作者: GBKEE    時間: 2012-2-8 12:02

回復 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
複製代碼

作者: PJChen    時間: 2012-2-8 14:07     標題: RE: [已解決]數字與區間的比較

回復 6# GBKEE

可以運作了,謝謝指正.
作者: jiuhtsair    時間: 2012-2-8 15:49

回復 4# GBKEE
謝謝GBKEE大大提供不同解題方式,讓小弟對指令的運用有更多的了解。
感恩!謝謝!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)