0
我需要一個將單元格引用(通過具有CTRL + SHIFT + ENTER的數組)分配給工作表的函數。問題是:它運行良好,除非被引用的單元格爲空,這會給數組的所有單元部分帶來#VALUE ERROR。這是功能,我使用VBA分配單元格引用功能
Function GeneratePackingList(PackageTable As Range)
Dim bRow As Byte, bCol as Byte
Dim asResult()
ReDim asResult(1 To 25, 1 To 11)
With PackageTable
For bRow = 1 To .Rows.Count
For bCol = 1 To 11
Select Case bCol
'Rearranging the columns order
Case 1 To 6: Set asResult(bRow, bCol) = .Cells(bRow, bCol + 1)
Case 7: Set asResult(bRow, bCol) = .Cells(bRow, 1)
Case 8 To 11: Set asResult(bRow, bCol) = .Cells(bRow, bCol)
End Select
Next bCol
Next bRow
End With
GeneratePackingList = asResult
End Function
所以基本上如果從PackageTable這些細胞的一個是空的,我得到的錯誤#VALUE和全部丟失。我應該改變變量聲明(變體,範圍還是其他?)有沒有其他更有效的方式來通過函數分配單元格引用?
,我不能長度> 255的顯示單元它給了我一個錯誤。我需要它是對原始單元格的引用,而不是通過Variant粘貼的值。 – AutoClave
無論是否帶有'Set',您都無法將長度超過255的字符串值返回給數組。 –
字符串數組似乎能夠容納超過255個字符 – AutoClave