標題:
[發問]
判斷式的問題
[打印本頁]
作者:
518587
時間:
2014-4-15 17:27
標題:
判斷式的問題
各位大師! 小弟有個小問題,請求幫助~~
範例如下
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
否,則原值呈現
麻煩各位大師!! 謝謝
作者:
GBKEE
時間:
2014-4-16 06:23
回復
1#
518587
A列從0~10筆資料判斷一次,看B列值是否都介在於5~6之間,
如果是,
將值取0 否,則原值呈現
, 如何呈現??
作者:
518587
時間:
2014-4-16 12:49
回復
2#
GBKEE
是的。 請問這樣的問題要如何用VBA呈現呢??
作者:
518587
時間:
2014-4-16 12:57
回復
2#
GBKEE
您的意思是 要呈現在哪一列嗎??
可以將值呈現在B列或是列在新的一列中都可
作者:
GBKEE
時間:
2014-4-16 13:21
回復
4#
518587
試試看
Option Explicit
Sub EX()
Dim E As Range, xMax As Single, xMin As Single
With Range("A:A")
.Cells.Replace "0", "=KKK", xlWhole
With .SpecialCells(xlCellTypeFormulas, xlErrors)
.Value = 0
For Each E In .Areas
With E.Resize(11).Offset(, 1)
xMax = Application.WorksheetFunction.Max(.Cells)
xMin = Application.WorksheetFunction.Min(.Cells)
If xMin >= 5 And xMax <= 6 Then
.Offset(, 1) = 0
Else
.Offset(, 1) = .Value
End If
End With
Next
End With
End With
End Sub
複製代碼
作者:
yen956
時間:
2014-4-16 17:33
回復
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
如果是, 試試看
Option Explicit
Private Sub CommandButton1_Click()
Dim i, j, r1 As Integer
Dim OK As Boolean
'
For i = 1 To 3
OK = True '先假定所有的均介於 5 與 6 之間
For j = 0 To 10
r1 = i * 11 + j - 10
'若有任一個不介於 5 與 6 之間, 則跳離迴圈
'並設為 not OK, 換下一組
If Cells(r1, 2) < 5 Or Cells(r1, 2) > 6 Then
OK = False
Exit For
End If
Next
'若全部介於 5 與 6 之間, 則填0
If OK Then
For j = 0 To 10
r1 = i * 11 + j - 10
Cells(r1, 2) = 0
Next
End If
Next
End Sub
複製代碼
作者:
518587
時間:
2014-4-17 10:59
謝謝各位大師的幫助,小弟試試。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)