我有一个包含大量数据的工作表。我想对A
中的Testsheet1
列使用自动过滤器,然后剪切整个行并将其粘贴到Testsheet2
中的定义范围内。
Sub CutCopyPaste()
Dim lrow as Long
lRow = Worksheets("Testsheet1").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("Testsheet1").Range("A1:A" & lRow).AutoFilter Field:=1, Criteria1:="Test"
Worksheets("Testsheet1").Range("A1:A" & lRow).Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Cut Worksheets("Testsheet2").Range("A1")
End Sub
对于copy
来说,它完全可以正常工作,但是使用cut
时出现错误。 运行时错误“ 438”。对象不支持此功能或方法。
答案 0 :(得分:0)
这将为您完成工作:
Sub CutCopyPaste()
Dim lrow As Long
Dim ws
Set ws = ThisWorkbook.Sheets("Sheet5")
With ThisWorkbook.Sheets("Sheet6")
lrow = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("A1:A" & lrow).AutoFilter Field:=1, Criteria1:="Test"
End With
ThisWorkbook.Sheets("Sheet6").Range("A1:A" & lrow).Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
ws.Cells(1, 1).PasteSpecial xlPasteValues
ThisWorkbook.Sheets("Sheet6").Range("A1:A" & lrow).Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End Sub
答案 1 :(得分:-1)
尝试一下,我对其进行了测试并起作用:
componentDidMount() {
// Timer declaration
this.myTimer = setInterval(() => {
this.setState({ someState: 'someValue' });
}, 1000);
};
componentWillUnmount() {
clearInterval(this.myTimer);
};