作者terrylove12 (空洞)
看板Office
标题[算表] 自订函数跨工作表问题
时间Wed Jun 13 18:17:04 2018
软体: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
所以想请问这个函式
如何可以改成跨表格通用的
--
Sent from my
fx-82SX
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.69.128.66
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1528885026.A.330.html
1F:→ soyoso: 用range.resize,rowsize一样用range.rows.count-1 06/13 18:52
2F:→ newacc: partdata.parent.range 06/13 18:55
3F:→ newacc: 或是用一个with block包起来,里面用.range 06/13 18:56
4F:→ newacc: with partdata.parent 06/13 18:56
5F:→ newacc: 'codes 06/13 18:56
6F:→ newacc: end with 06/13 18:56
8F:→ soyoso: 如partdata等同於part_pdate的范围的话,也不用resize 06/13 19:13