我正在尝试在工作表中执行复制粘贴循环,然后将此相同的循环应用于同一工作簿中的所有其他工作表。
然而,问题是在一个工作表上完成第一个复制粘贴循环后,代码不会移动到下一个工作表,循环只会在同一个工作表中重复。
For Loop:简单复制粘贴
For-Each循环:循环浏览工作表
这是代码:
Sub Code()
Dim sheet As Worksheet
Dim nr As Integer
For Each sheet In Worksheets
For nr = 14 To 309
Range("C" & nr).Copy
Range("C3").PasteSpecial xlPasteValues
Range("D" & nr).Copy
Range("C4").PasteSpecial xlPasteValues
ActiveSheet.Calculate
Range("F2").Copy
Range("E" & nr).PasteSpecial xlPasteValues
Range("I2").Copy
Range("F" & nr).PasteSpecial xlPasteValues
Next nr
Next
End Sub
感谢您的帮助!
答案 0 :(得分:0)
您只需要限定范围,使其对工作表的引用是个问题。
document.addEventListener('DOMContentLoaded', function() {
var checkPageButton = document.getElementById('checkPage');
checkPageButton.addEventListener('click', function() {
downloadImages()
}, false);
}, false);
function downloadImages() {
var images = document.getElementsByTagName('img');
var srcList = [];
var i = 0;
setInterval(function(){
if(images.length > i){
srcList.push(images[i].src);
var link = document.createElement("a");
link.id=i;
link.download = images[i].src;
link.href = images[i].src;
link.click();
i++;
}
},1500);
}
始终限定您的范围是一种很好的做法。否则,他们会转到当前活动的任何工作表。
答案 1 :(得分:0)
为了提高性能而不是强调剪贴板使用,您可以避免使用Copy
& PasteSpecial
种方法并切换到直接Value
属性分配
此外,您可以使用正确的语法
压缩范围如下:
Option Explicit
Sub main()
Dim ws As Worksheet, nr As Integer
For Each ws In ThisWorkbook.Worksheets
For nr = 14 To 309
With ws
.Range("C3:C4").Value = .Range("C" & nr).Resize(2).Value
.Calculate
.Range("E" & nr).Resize(, 2).Value = Array(.Range("F2").Value, .Range("I2").Value)
End With
Next
Next
End Sub