vba编程问题求助 急!!!!!!!!!!!!
a列为数据,b列为升势天数及趋势位置,c列为跌势天数及趋势位置宏程序如下,参考一下sub lxx()dim h, l, u, d, m 'h,l,分别为一个趋势周期内的最高值和最低值,u,d为升势、跌势的标志位,m用于统计趋势天数h = [a1].valuel = [a1].value '以第一天为基准初始化最高及最低值for i = 1 to 246 '计数246个数据m = m + 1 '累计天数if cells(i, 1).value > h then h = cells(i, 1).value '每天数据比最高值大,则此天值作为最高值if cells(i, 1).value < l then l = cells(i, 1).value '每天数据比最低值小,则此天值作为最低值if cells(i, 1).value / l >= 1.08 then u = 1 '与最低值比,升辐超过8%,升势标志置1if cells(i, 1).value / h < 0.97 and u = 1 then '处于升势情况下,比最高值低3%,则进行如下复位处理u = 0 '升势标志置0,结束一个周期cells(i, 2).value = m '升势天数写入b列相应行位置m = 0 '天数归零,以便下一周期重新累计天数h = cells(i, 1).valuel = cells(i, 1).value '以趋势结束天的数据作为下一次趋势统计基准end if'下面为跌势分析,与升势分析雷同if cells(i, 1).value / h < 0.92 then d = 1if cells(i, 1).value / l > 1.03 and d = 1 thend = 0cells(i, 3).value = mm = 0h = cells(i, 1).valuel = cells(i, 1).valueend if'下面是处理最后一个数据时的趋势if i = 246 and u = 1 then cells(246, 2).value = mif i = 246 and d = 1 then cells(246, 3).value = mnextend sub 20210311