[算表] 自订函数跨工作表问题

楼主: terrylove12 (空洞)   2018-06-13 18:17:04
软件:Excel VBA
版本: 2007 , 2016
各位高手们好
小弟为了工作方便 写了一个自订函式想处理日期及进度的内插作业
其函式名称为workrate
然后输入的变量为 workrate(partdata As range,ndate As single)
(变量都用 ByVal)
然后要取得partdata的位置
part_r = partdata.Row '获取预定进度资料位置(第1格的row值)
part_rcount = partdata.Rows.Count '获取预定进度资料Row数
part_c = partdata.Column '获取预定进度资料位置(第1格的column值)
并且设定一个range变量为其资料
Set part_pdate = Range(Cells(part_r, part_c), _
Cells(part_r + part_rcount - 1, part_c))
但这边就会出现问题
因为直接用Range 变成是指定ActiveWorkSheet
所以 假设输入的 partdata 是另个活页簿的
就会#VALUE
所以想请问这个函式
如何可以改成跨表格通用的
作者: soyoso (我是耀宗)   2018-06-13 18:52:00
用range.resize,rowsize一样用range.rows.count-1
作者: newacc (XD)   2018-06-13 18:55:00
partdata.parent.range或是用一个with block包起来,里面用.rangewith partdata.parent'codesend with
作者: soyoso (我是耀宗)   2018-06-13 19:06:00
https://i.imgur.com/eKYZqEt.jpg如partdata等同于part_pdate的范围的话,也不用resize有可能就可直接引用 https://i.imgur.com/W5yglxz.jpg

Links booklink

Contact Us: admin [ a t ] ucptt.com