Board logo

標題: [發問] 判斷數據範圍並上色 [打印本頁]

作者: colin105    時間: 2010-10-24 23:11     標題: 判斷數據範圍並上色

各位先進

我有一個VBA問題想問:

我有一堆數據, 範圍從負數到正數都有, 我計畫要寫一個巨集去區分範圍並上色,

但是我發現在負數到0的範圍內的數據無法分類,

有辦法可以幫幫我嗎??
作者: Hsieh    時間: 2010-10-24 23:47

負數到0的範圍?
<0就負數
=0就0
>0就正數
有甚麼是不能判斷?
作者: colin105    時間: 2010-10-25 20:12

回復 2# Hsieh


    真是不好意思...先說明一下

我的數據範圍是-4~4, 我想區分的範圍是-3<, -3~-1,-1~1,1~3, >3

我先將這些數據指向一個陣列, 再做區分,可是我發現在小於0的區域是無法分類的...

這是我想發問的問題
作者: basarasy    時間: 2010-10-26 00:12

回復 3# colin105


    -3~-1,-1~1,1~3??
-1和1同時有2區,你想什麼分?
作者: Min    時間: 2010-10-26 06:59

-1~1
>=-1 and <=1
這是包含0的...
作者: GBKEE    時間: 2010-10-26 07:32

我想區分的範圍是-3<, -3~-1,-1~1,1~3, >3
colin105 發表於 2010-10-25 20:12

可以看看 [ 比較運算子] VBA說明
作者: colin105    時間: 2010-10-27 21:49

回復 6# GBKEE

各位好.....
以下是我的程式碼

我是用這個程式去執行區分及上色的任務

但是我發現數據範圍在0以及負數時無法區分...
    Sub run_map()
'
' run_map Macro
' Administrator 在 2010/9/17 錄製的巨集
'
Dim myresult(20, 20) As Long
    Dim x, y As Long
    Dim SH, SL, R1, R2, R3, R4 As Long
    SH = Range("D14").Value
    SL = Range("D15").Value
    R1 = Range("D16").Value
    R2 = Range("F16").Value
    R3 = Range("H16").Value
    R4 = Range("J16").Value
   
    For x = 4 To 13
    For y = 5 To 17
    myresult(x, y) = Cells(x, y).Value
    Next y
    Next x
    For x = 4 To 13
    For y = 5 To 17
        
    If myresult(x, y) = False Then
    Cells(x, y).Interior.ColorIndex = 2
   
    Else
   
    If myresult(x, y) >= SL And myresult(x, y) < R1 Then
    Cells(x, y).Interior.ColorIndex = 35
   
    ElseIf myresult(x, y) >= R1 And myresult(x, y) < R2 Then
    Cells(x, y).Interior.ColorIndex = 36
   
    ElseIf myresult(x, y) >= R2 And myresult(x, y) < R3 Then
    Cells(x, y).Interior.ColorIndex = 44
   
    ElseIf myresult(x, y) >= R3 And myresult(x, y) < R4 Then
    Cells(x, y).Interior.ColorIndex = 45
   
    ElseIf myresult(x, y) >= R4 And myresult(x, y) <= SH Then
    Cells(x, y).Interior.ColorIndex = 46
   
    Else
    Cells(x, y).Interior.ColorIndex = 3
   
    End If
   
    End If
    Next y
    Next x
   
  
   
End Sub
作者: oobird    時間: 2010-10-28 09:44

多重的if判斷式看得眼花瞭亂,最好把檔案上傳吧!
作者: yagami12th    時間: 2012-1-4 20:42

我也看的眼花瞭亂,不過用if直接判斷後,寫cells(i,2)=cells(i,2)("f改成你要變成的顏色"),這樣邏輯應該可以試試。




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