西西河

主题:紧急求助 Excel VBA - 在线等 -- 燃起火烧云

共:💬14 🌺7 新:
全看树展主题 · 分页首页 上页
/ 1
下页 末页
家园 紧急求助 Excel VBA - 在线等

有没有VBA的大拿啊,能不能帮我写一个code??

要求是这样:

excel 文件中有两列数据,A列是早上9点半到下午四点的每一分钟的时间,B列是某公司对应每一分钟的股票价格。B列中不少价格为0,我要做的是在B列中用下一个非零价格去替掉那些为零的价格。比如,该公司10:10,10:11,10:12时刻价格均为零,但是10:13时价格为$2.00,那我就将10:10,10:11,10:12的价格全部变为$2.00。

不知道我有没有说清楚,请懂VBA的大虾帮小弟写个code吧!

急等,多谢,多谢!

家园 着急的话去Excelhome吧,那是专业网站
家园 也已经发帖子了

两边儿都贴了,急啊!

家园 好像定义有问题

如果最后10分钟都为0怎么办呢?

家园 一般不会

如果真是这样,可以忽略不管。

家园 那你试试看这段代码吧

Sub replacezeroprice()

Dim realprice

For Counter = 420 To 1 Step -1

Set curCell = Worksheets("Sheet1").Cells(Counter, 2)

If curCell.Value > 0 Then

realprice = curCell.Value

Else

curCell.Value = realprice

End If

Next Counter

End Sub

家园 太谢谢了,我这就试试

花谢!

家园 不客气,我写的比较省事

总纪录不要超过420条(9:30-16:30 420分钟) 而且默认没有表头,如果有表头自己再改一下循环的起始和结束变量

家园 成功了,没问题!再花!

code没问题,再花谢!

刚才我也逼着写了段代码,好像也行,都是从后倒着往前推:

Sub test()

For i = 400 To 2 Step -1

If Cells(i, 2) = 0 Then

Cells(i, 2).Offset(1, 0).Copy

Cells(i, 2).Select

ActiveSheet.Paste

End If

Next i

End Sub

这段code只是一个一个往前推,最笨的办法,还是兄台的code好。再花谢!

家园 突然想起来一个问题

你是怎么在不到一小时的时间内对同一个帖子发两朵花的?

家园 是这样。。。

惭愧,昨天发了帖子才发现不能在短时间里送两朵花,所以打算回头补上。

第二朵花不知是那位慷慨的朋友送给你的。

家园 倒。。。还以为系统有漏洞嘿嘿
家园 呵呵,昨天偶看了以后顺手砸的

CHELA兄是高手

正好给兄弟圆谎了

恭喜:意外获得【西西河通宝】一枚

谢谢:作者意外获得【西西河通宝】一枚

鲜花已经成功送出

家园 回砸

不算啥高手了,VB在真正高手眼里都是玩具来的。

全看树展主题 · 分页首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河