【发布时间】:2014-08-19 13:06:50
【问题描述】:
感谢这个论坛上的一些人,我有这段代码可以在转置时将多个单元格从参考活动工作表复制到主工作表。我唯一的问题是有一个范围有空白单元格,我希望函数忽略这些。我曾尝试将specialpaste 函数与skipblanks=true 一起使用,但这无济于事。有什么建议?
Macro1()
Dim master As Worksheet, source As Worksheet, copyCols() As Variant, pasteCols() As Variant, i As Integer
Set master = Workbooks("Combined Spreadsheet.xlsx").Worksheets(1)
Set source = ActiveSheet
copyCols = Array("F", "H", "N", "R", "S")
pasteCols = Array("B", "L", "V", "AF", "AP")
For i = 0 To UBound(copyCols)
source.Range(copyCols(i) & "4:" & copyCols(i) & 14).Copy
master.Range(pasteCols(i) & master.Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=True, Transpose:=True
Next i
End Sub
【问题讨论】:
-
快速谷歌搜索“PasteSpecial Skipblanks failed”显示空白单元格未粘贴(例如参见this)。这意味着,如果目标范围内的内容本来会被空白单元格覆盖,
Skipblanks会保持原样。您想消除(删除)原点范围的空白单元格吗? -
@Ioannis 好问题……或者跳过目的地中的空白?