永发信息网

再次请教VBA中关于“range"对象作用于"worksheet"时失败

答案:2  悬赏:60  手机版
解决时间 2021-02-13 17:22
这次是引用另一个工作簿的情况,而且无法用数组来替代,请高手指点,代码是这样:

Sub savetobargain()
Dim targetrange2, T_range As Range '第一个是目标单元格范围,第二个是目标单元格
Dim yearnum, monthnumsta, monthnumend, n As Integer '这几个是运算用的
Dim rangesta, rangend As String '这是引用的起始位置和最终位置的字符串
yearnum = Year(Now()) '取年份
monthnumsta = Month(Now()) * 1000 - 999 '取月份在工作表中的开始行
monthnumend = Month(Now()) * 1000 ''取月份在工作表中的最终行
rangesta = "A" & monthnumsta
rangend = "U" & monthnumend
'Workbooks("工作簿2.xlsm").Sheets(yearnum & "表").Select ‘加这句也不行
Set targetrange2 = Workbooks("工作簿2.xlsm").Worksheets(yearnum & "表").Range(rangesta, rangend) '这里的range对象就会失败,没引用到对象
n = WorksheetFunction.CountA(targetrange2)
T_range = targetrange2.Cells(n, 1).Resize(0, targetrange2.Columns)
With T_range
.Cells(1, 1) = rangeval(3, 3)
.Cells(1, 2) = rangeval(3, 11)
.Cells(1, 3) = rangeval(5, 3)
.Cells(1, 4) = rangeval(5, 10)
.Cells(1, 5) = rangeval(5, 5)
。。。。。。
最佳答案
代码没有错,检查:
1、工作簿2.xlsm是否已经打开

2、工作簿2.xlsm下是否有名为“2015表”的工作表
全部回答
if cells(i, 5) = cells(i + 1, 5) then sheet1.range(cells(i, 3), cells(i, 5)).copy 把这句改成 下面的试试 if cells(i, 5) = cells(i + 1, 5) then sheet1.range(sheet1.cells(i, 3), sheet1.cells(i, 5)).copy
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有没有dnf魔法师4职业和鬼剑士4职业的图片 4
前底盘被磕的咣的一声,有没有好心的车友帮帮
五根小木棒,其长度分别为9,12,15,36,39,现将
喝醉之后发烧发热怎么办?
激光测距传感器可以用来测量高温物体的位置吗
权健养生会所怎么去啊,我要去那办事
大人能不能弹21寸的尤克里里
人血红蛋白由珠蛋白和血红素结合而成,一个珠
兰新驾校雁滩店报名处地址在哪,我要去那里办
形容喜欢一个人的成语
格美专业烫/染/拉地址好找么,我有些事要过去
除了Office的PowerPoint和Excel外,还有什么
如何自己制作超轻粘土
多彩云机顶盒点播不了
部落冲突部落名字,要霸气!英文!
推荐资讯
小草让我明白的道理
北京财富汇发投资担保有限公司怎么样?
龙之风汽修工场地址有知道的么?有点事想过去
夫妻一方有郑州户口,但户主不是郑州户口,可以
聚丰园小炒在什么地方啊,我要过去处理事情
你好,在网上办信用卡信得过吗
戴山家园在什么地方啊,我要过去处理事情
武警医院-急诊地址在什么地方,想过去办事
调整围绕社会物质财富的生产、交换、分配和消
女人嘴里面说的种地什么意思
胶南市第四中学地址在哪里?
在下列过程中,由于做功而使物体内能增加的是
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?