JS宏关于复制粘贴的问题,求各位大佬指导,各位老师指导,怎么简化我这个写法,谢谢!

各位老师大佬周末好! 新手小白折腾半天没拼凑出来怎么个写法,求各位老师大佬指导指导,谢谢! 诉求: 如果工作簿中的I2单元格的数值为10复制A1:H10的内容,以值和数值格式粘贴到工作簿2的A10:H20单元格中,如果I2单元格的数值为20就粘贴到A20:H30单元格中~ 以此类推 如果I2数值为30就复制到A30,40就复制到A40~ 谢谢,谢谢,谢谢!各位大佬,各位老师! 下面是自己的原始人一般的写法,老师们别笑,我感觉要堆几千行IF~ 论坛报错代码我发到回复里~
广东省
浏览 2755
1
4
分享
4 +1
16
1 +1
全部评论 16
 
A龙
function test(){ var firstcell=Range("i2").Value2 Range("a1:h10").Copy() Range("a"+firstcell).PasteSpecial() }
· 浙江省
回复
 
wils
wils

创作者俱乐部成员

为啥用for,可能是我理解不到位 function ttt() { let n = Sheets(1).Range("I2").Value2 let arr = Sheets(1).Range("A1:H10").Value2 Sheets(2).Range("A"+n).Resize(arr.length, arr[0].length).Value2 = arr }
· 广东省
回复
学无止境
谢谢,老师。
· 广东省
回复
 
HC.旋
HC.旋

WPS寻令官

厉害厉害
· 江苏省
回复
学无止境
都是社区里乐于助人的老师们教的好,我就一个刚学的新手小白,都是胡乱拼凑的,别笑话我就好了。
· 广东省
回复
 
学无止境
搞定了,搞定了,不过还是想看看老师们的正确写法,学习学习~ Sheets.Item("工作簿1").Activate(); Range("A1:H10").Select(); Selection.Copy(undefined); for(var r of Range("I2")) { Sheets.Item("工作簿2").Activate(); Range("A"+r).Select(); } Selection.PasteSpecial(xlPasteValuesAndNumberFormats, xlPasteSpecialOperationNone, false, false);
· 广东省
回复
 
学无止境
各位老师们,我好像找到了办法,可是又不对这+好像不对i2单元格输入100 他把内容粘贴到了A10100~ Sheets.Item("工作簿1").Activate(); Range("A1:H10").Select(); Selection.Copy(undefined); for(var r of Range("I2")) { Sheets.Item("工作簿2").Activate(); Range("A10"+r).Select(); } Selection.PasteSpecial(xlPasteValuesAndNumberFormats, xlPasteSpecialOperationNone, false, false);
· 广东省
回复
 
学无止境
下面是自己的写法,求大佬简化,否则要堆几千个IF,估计WPS要卡飞~ Sheets.Item("工作簿1").Activate(); Range("A1:H10").Select(); Selection.Copy(undefined); for(var r of Range("I2")) { if(r.Value2==10) { Sheets.Item("工作簿2").Activate(); Range("A10").Select(); } if(r.Value2==20) { Sheets.Item("工作簿2").Activate(); Range("A20").Select(); } } Selection.PasteSpecial(xlPasteValuesAndNumberFormats, xlPasteSpecialOperationNone, false, false);
· 广东省
回复
拾光漫行
拾光漫行

WPS函数专家

最好上传一下文件
· 重庆
回复