返回列表 上一主題 發帖

[發問] 判斷式的問題

[發問] 判斷式的問題

各位大師!  小弟有個小問題,請求幫助~~

範例如下

A         B
0        10
1        10.4
2        10.2
3        10
4        10.2
5        5.8
6        10.6
7        9.8
8        9.8
9        10.6
10     11.2
0        5.6
1        5.4
2        5.2
3        5
4        5.2
5        5.8
6        5.6
7        5.8
8        5.8
9        5.6
10     5.2
0        10
1        10.4
2        10.2
3        10
4        5.2
5        5.8
6        10.6
7        9.8
8        9.8
9        10.6
10     11.2
我的問題是,我要如何判斷

A列從0~10筆資料判斷一次,看B列值是否都介在於5~6之間,
如果是,將值取0
         否,則原值呈現

麻煩各位大師!! 謝謝

回復 1# 518587
A列從0~10筆資料判斷一次,看B列值是否都介在於5~6之間,
如果是,將值取0 否,則原值呈現, 如何呈現??
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE

是的。 請問這樣的問題要如何用VBA呈現呢??

TOP

回復 2# GBKEE

您的意思是 要呈現在哪一列嗎??

可以將值呈現在B列或是列在新的一列中都可

TOP

回復 4# 518587
試試看
  1. Option Explicit
  2. Sub EX()
  3.     Dim E As Range, xMax As Single, xMin As Single
  4.     With Range("A:A")
  5.         .Cells.Replace "0", "=KKK", xlWhole
  6.         With .SpecialCells(xlCellTypeFormulas, xlErrors)
  7.             .Value = 0
  8.             For Each E In .Areas
  9.                 With E.Resize(11).Offset(, 1)
  10.                     xMax = Application.WorksheetFunction.Max(.Cells)
  11.                     xMin = Application.WorksheetFunction.Min(.Cells)
  12.                     If xMin >= 5 And xMax <= 6 Then
  13.                         .Offset(, 1) = 0
  14.                     Else
  15.                         .Offset(, 1) = .Value
  16.                     
  17.                     End If
  18.                 End With
  19.             Next
  20.         End With
  21.     End With
  22. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 1# 518587
結果是不是樣子?
0         10.0
1         10.4
2         5.4
3         10.0
4         10.2
5         5.8
6         10.6
7         9.8
8         9.8
9         10.6
10         11.2
0         0
1         0
2         0
3         0
4         0
5         0
6         0
7         0
8         0
9         0
10         0
0         10
1         10.4
2         10.2
3         10
4         5.2
5         5.8
6         10.6
7         9.8
8         9.8
9         10.6
10         11.2
如果是, 試試看
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim i, j, r1 As Integer
  4.     Dim OK As Boolean
  5.    
  6.     '
  7.     For i = 1 To 3
  8.         
  9.         OK = True  '先假定所有的均介於 5 與 6 之間
  10.         
  11.         For j = 0 To 10
  12.             r1 = i * 11 + j - 10
  13.             
  14.             '若有任一個不介於 5 與 6 之間, 則跳離迴圈
  15.             '並設為 not OK, 換下一組
  16.             If Cells(r1, 2) < 5 Or Cells(r1, 2) > 6 Then
  17.                 OK = False
  18.                 Exit For
  19.             End If
  20.         Next
  21.         
  22.         '若全部介於 5 與 6 之間, 則填0
  23.         If OK Then
  24.             For j = 0 To 10
  25.                 r1 = i * 11 + j - 10
  26.                 Cells(r1, 2) = 0
  27.             Next
  28.         End If
  29.     Next
  30. End Sub
複製代碼

TOP

謝謝各位大師的幫助,小弟試試。

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題