软件:excel 版本:office 365 各位版大大家好, 最近刚学VBA希望能让它自动撷取100个period(一个工作表10个period如图一) 的资料,然后纪录在新的工作表(如图二)里。 <图一> http://imgur.com/a/4D4TQ <图二> http://imgur.com/a/kwPhS 问题描述: 如<图一>所示,每个工作表都规律分配10个period,假如J89等于6,则填入另 一工作表如<图二> 6的下面并纪录I89的值,以此类推。 请问这样vba写得出来吗? 我有写了如下,但是值都抓不出来 Dim a As Long For a = 1 To 2 If Sheets("period 1-10").Range("J89").Value = Sheets("total average").Range("B2").Value Then Sheets("total average").Range("B" & a).Value = Sheets("period 1-10").Range("I89").Value Next a End sub 请问大家有什么好方法吗~~ 拜托拜托(论文快生不出来了) 先谢谢了 <(_._)>
作者: soyoso (我是耀宗) 2017-08-15 17:49:00
如果实际资料为图二依序3-20的话,可以range.offset将J89的值做栏偏移;如不连续或为文字的话可以工作表函数match取栏号,或range.find取得储存格如要以原文来改的话,a=0 to 17或1 to 18(total average B到s栏),变量放于range.offset栏偏移,或cells栏号的部分置于cells栏号的话也可2 to 19