在vba中array函数可以生成数组,在平时我们经常用array函数生成数据表的列标题。
比如要往Sheet1工作表的第一行填入列标题,我们可以使用如下的代码
Sub QQ1722187970() Dim oWK As Worksheet Set oWK = Excel.Worksheets("Sheet1") Dim arr arr = Array("成交时间", "股票代码", "股票名称", "异动类型", "异动信息", "成交价格", "涨跌幅(%)", "换手率", "详细信息") oWK.Range("a1:i1") = arr End Sub
但是,当列标题有增减的时候,需要去调整
oWK.Range("a1:i1")
很不方便,这个时候可以使用resize属性结合arr的Ubound来自适应列标题的数量。代码修改为如下:
Sub QQ1722187970() Dim oWK As Worksheet Set oWK = Excel.Worksheets("Sheet1") Dim arr Dim iCol As Integer arr = VBA.Array("成交时间", "股票代码", "股票名称", "异动类型", "异动信息", "成交价格", "涨跌幅(%)", "换手率", "详细信息") iCol = UBound(arr) + 1 oWK.Range("a1").Resize(1, iCol) = arr End Sub
通过以上的代码,无论列标题如何增减,都可以自适应列数了。
发表评论