推 yzhsage:無盡的感恩!!!還有一些問題我寄信給你喔^^ 12/14 02:00
※ 引述《yzhsage (Marx, Karl)》之銘言:
: 簡略說明一下:
: 就是每一筆R值都要跟I值和T值做比較,
: R-I>0時判斷R-T是否小於零,
: 若小於零則在該隔寫上Rm in An,
: 並記錄An裡有幾個R;
: R-T=1時則寫上Rm behind An;
: 都不是就回到迴圈2。
: R-I<0時則寫上Rm in Bn;
: R-I=0時就是定義錯誤
: 接下來跳到下一列寫上Cn值。
: (因為這個我不會寫就沒放進去)
: 之後再跳到下一列做另一個R值的運算。
: 而在n+1時會跳到下一欄做運算。
: 不知道Excel能否完成這樣的事情,
: 若不能那應該要怎麼寫VB呢?
: 因為事情很急,買書來翻似乎有點太慢,
: 希望有高手可以幫忙。感恩。
: http://www.badongo.com/file/5575871
: 這是上面的範例,希望能幫助大家了解。
: 在Sheet3有一些說明,再感謝。
根據你給的檔案
寫的程式如下:
========================
Sub test()
Dim m As Integer
Dim n As Integer
Dim R As Integer
Dim I As Integer
Dim T As Integer
For m = 1 To 9
R = Worksheets("Sheet2").Cells(m + 1, 2).Value
For n = 1 To 104
I = Worksheets("Sheet1").Cells(n + 1, 2).Value
T = Worksheets("Sheet1").Cells(n + 1, 3).Value
If R > I Then
If R < T Then
Worksheets("Sheet4").Cells(m + 1, 2).Value = "A" & n
Exit For
ElseIf R = T + 1 Then
Worksheets("Sheet4").Cells(m + 1, 2).Value = "behind A" & n
Exit For
End If
ElseIf R < I Then
Worksheets("Sheet4").Cells(m + 1, 2).Value = "B" & n - 1
Exit For
End If
Next
Next
End Sub
===========
按Alt+F11出現編輯器後,
在左邊專案的地方按滑鼠右鍵,插入→模組,然後把上面的程式貼上去,
再按執行就好了
不過...跑出來的結果跟你的範例有差@@"
至於Sheet4的An跟S出現的個數,用Countif就可以算出來了
請先試用,有問題再問吧
--
沒事多灌水...
多灌水沒事...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.7.130