我一直在努力弄清楚如何编写此选择范围宏以包含空行。工作表是具有可变列数和行数的图表。这就是我到目前为止所做的:
Sub Macro1()
Range("A5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
End Sub
宏中的选择步骤只会到那个空白行,并且不会再进一步(显然是因为它空白了)。出于这个原因,我尝试调整这种不连续的代码类型,但没有运气:
Sub SelectRangeDown_Discontiguous()
Range("A5", Range("A65536").End(xlUp)).Select
End Sub
我希望有人可以帮我找出编写此代码的最佳方法吗?我在正确的道路上吗?
答案 0 :(得分:3)
如果您使用.End(xlToRight)
或.End(xlDown)
,您将停在空白单元格。如果您使用的是Range("A65536").End(xlUp)
,那么您只选择一个列,但是您可以从A5下载到最后一个填充的单元格并绕过临时空白单元格。横向扩展后一种方法。
Sub Macro1()
with Range("A5")
.resize(cells(rows.count, "A").end(xlup).row - (.row - 1), _
cells(5, columns.count).end(xltoleft).column - (.column - 1)).Copy
end with
End Sub
对于.Parent Worksheet Object,这会更好。
¹有关远离依赖选择和激活以实现目标的更多方法,请参阅How to avoid using Select in Excel VBA macros。
答案 1 :(得分:1)
考虑:
$encoded = encode_entities($input, '<>&"');