Excel-VBA对象不支持此属性或方法-粘贴-Excel
给我带来麻烦的那一行是“”(CStr(WS_M.Cells(n,START_C)))。Cells(n,START_C)。粘贴“” 这应该在第3列中找到选项卡名称,然后转到该选项卡并将选项卡名称粘贴到该选项卡中Excel-VBA对象不支持此属性或方法-粘贴-Excel,vba,excel,Vba,Excel,给我带来麻烦的那一行是“”(CStr(WS_M.Cells(n,START_C)))。Cells(n,START_C)。粘贴“” 这应该在第3列中找到选项卡名称,然后转到该选项卡并将选项卡名称粘贴到该选项卡中 Const START_C = 3 Const MAX_TRAN = 1000 Const START_R = 2 Const MASTER = "MASTER" Sub MOVEDATACORRECTLY() Dim WS_M As W
Const START_C = 3
Const MAX_TRAN = 1000
Const START_R = 2
Const MASTER = "MASTER"
Sub MOVEDATACORRECTLY()
Dim WS_M As Worksheet
Dim thisWB As Workbook
Set thisWB = ActiveWorkbook
Set WS_M = Worksheets(MASTER)
For M = START_R To (START_R + MAX_TRAN)
If WS_M.Cells(M, (START_C + 1)) = "" Then Exit For
Next M
M = M - 1
For n = START_R To M
WS_M.Cells(n, START_C).Copy
Sheets(CStr(WS_M.Cells(n, START_C))).Cells(n, START_C).Paste
Next n
End Sub
请尝试以下方法:
For n = START_R To M
WS_M.Cells(n, START_C).Copy
Sheets(CStr(WS_M.Cells(n, START_C))).Cells(n, START_C).Select
ActiveSheet.Paste
Next n
如果查看Excel
范围
对象的列表,粘贴
不在成员列表中。然而,有一种特殊的。我还没有尝试过,但这可能也有用。对于在Excel中复制一系列单元格,使用Copy
方法使VBA
程序更容易崩溃/或给出可预测的结果
假设在过程中,您从系统剪贴板复制数据,而用户试图将其他数据存储到系统剪贴板代码>
不总是这样,但从用户的角度来看,这种错误可能会发生
所以我总是喜欢使用更好的方法,比如动态交换范围。下面是一个小演示:
Public Sub Sample_Copy_without_Clipboard()
Dim dRange As Range, iRange As Range
Set iRange = Range("A1:B3")
Set dRange = Range("D1:E3")
dRange.Value = iRange.Value
End Sub
注意:此方法仅适用于未格式化的文本数据。如果不是,则使用的建议或答案。WS_M.Cells(n,START_C)。复制工作表(CStr(WS_M.Cells(n,START_C)))。Cells(n,START_C)
无需单独粘贴…粘贴特殊与右键单击单元格时选择粘贴特殊相同-您只能选择粘贴值或格式等。粘贴将粘贴所有内容