作者Catbert (宅男)
看板Office
标题Re: [算表] Excel程式问题
时间Fri Dec 14 00:54:45 2007
※ 引述《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
1F:推 yzhsage:无尽的感恩!!!还有一些问题我寄信给你喔^^ 12/14 02:00