我正在尝试在excel中填充一个单列表,可以使用vba和一维数组连接到power query。
因此,用户将一个列表放入一个文本框中,其中每个项目用分号分隔,然后将其放入数组中。到目前为止,我已经:
Dim arrSIOCodes As Variant
arrSIOCodes = Split(tbSIOCodes, ";")
ThisWorkbook.Sheets("CAEATFA_SIO").Activate
Call ChangeTableToArray(tbl:=ThisWorkbook.Sheets("CAEATFA_SIO").ListObjects("tblSIOCodes"), ar:=arrSIOCodes)
我从另一个堆栈溢出帖子中得到了这个sub,但我需要根据我的问题进行自定义,我遇到了问题
Sub ChangeTableToArray(tbl As ListObject, ar)
Dim newRows As Long: newRows = 1 + UBound(ar, 1) - LBound(ar, 1)
If Not tbl.DataBodyRange Is Nothing Then tbl.DataBodyRange.EntireRow.Delete
If newRows > 1 Then tbl.HeaderRowRange.Resize(newRows - 1).Offset(2).EntireRow.Insert
tbl.HeaderRowRange.Resize(newRows, 1 + UBound(ar, 1) - LBound(ar, 1)).Offset (1).value = ar
End Sub
当前代码正在执行以下操作:
然而,这就是我需要它做的: