我有一个文件,我使用动态复制并粘贴vba,一切正常但当过滤后的输出只有1行时,程序粘贴一行,将其复制到粘贴目标范围(从第1行到第1行)结束)。它只发生在过滤后的输出是一行时。
这是我的复制代码:
Select Filtered data Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
If Selection.Columns(1).SpecialCells(xlCellTypeVisible).Count = 2 Then
MsgBox ("Guess What! there are no break fix today, let's try again tomorrow")
Application.DisplayAlerts = False
Application.ScreenUpdating = False
openWb.Close
Exit Sub
End If
'Copy selected data
Selection.Copy
粘贴代码:
Sub (PasteCopied data)
ThisWorkbook.Worksheets("Renee's Report").Range("B:AD") _
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
有什么想法吗?
答案 0 :(得分:0)
这就是粘贴在Excel中的工作方式。如果您手动复制和粘贴,您将看到相同的行为 - 大致 -
要修复它,您只需要粘贴到一个单元格中:
ThisWorkbook.Worksheets("Renee's Report").Range("B1") _
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False