我大家,
我有一個非常簡單的 Excel 函式,試圖將資料從表中復制到另一張表中。我有以下代碼:
當我注釋掉 ClearContents 命令時,它可以作業,但是如果這樣做
運行時錯誤“1004”> 應用程式定義或物件定義錯誤。
我已經查看了堆疊溢位和互聯網,但沒有運氣
提前致謝
Sub ListOfSquads()
Sheets("Apontamentos").Select
Range("Apontamentos[[#Headers],[área]]").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ThisWorkbook.Sheets("Squads").Select
ThisWorkbook.Sheets("Squads").Columns("A:A").ClearContents
ThisWorkbook.Sheets("Squads").Range("A1").Select
ThisWorkbook.Sheets("Squads").Paste
Application.CutCopyMode = False
End Sub
uj5u.com熱心網友回復:
復制 Excel 表格列 ( ListColumn.Range)
- 在您的代碼中,當您執行 時
ClearContents,實際上是從剪貼板中洗掉了復制的范圍。正如蒂姆威廉姆斯在評論中建議的那樣,您必須將ClearContents線條移到線條之前Selection.Copy并適當地重新排列Select線條。 - 使用
Select是一個Macro Recorder“東西”,并在你的代碼,最好避免,如描述
在此legendary post。 - 此代碼使用
Range.Copy method.
Option Explicit
Sub ListOfSquads()
' Workbook
Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
' Source
Dim sws As Worksheet: Set sws = wb.Worksheets("Apontamentos")
Dim stbl As ListObject: Set stbl = sws.ListObjects("Apontamentos")
Dim slcl As ListColumn: Set slcl = stbl.ListColumns("área")
Dim scrg As Range: Set scrg = slcl.Range
' Destination
Dim dws As Worksheet: Set dws = wb.Worksheets("Squads")
dws.Columns("A").ClearContents
Dim dfCell As Range: Set dfCell = dws.Range("A1")
' Copy
scrg.Copy dfCell
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/405370.html
標籤:
上一篇:嘗試將多個報告合并為一個
