excel - 手动分配具有 1 个条目的二维数组
问题描述
我试图通过将数组设置为等于 excel 范围 ( n Rows X 1 Column
) 来分配二维数组。
当 ( n = 1
) 这只是给我一个值,所以我想在这种情况下手动分配数组。我尝试了以下,但它填充了Error 2015
Function Get_Params(ws As Worksheet, LR As Long, Target As Range) As Variant
Dim Temp As Worksheet: Set Temp = ThisWorkbook.Sheets("Temp")
Dim LR2 As Long
ws.Range("D1:D" & LR).SpecialCells(xlCellTypeVisible).Copy
Temp.Range("U1").PasteSpecial xlPasteValues
Temp.Range("U1").RemoveDuplicates 1, xlYes
LR2 = Temp.Range("U" & Temp.Rows.Count).End(xlUp).Row
If LR2 = 2 Then
Get_Params = [{Temp.Range("U2"), 1}] '<-- ISSUE HERE
Else
Get_Params = Temp.Range("U2:U" & LR2).Value
End If
Temp.Range("U1").EntireColumn.ClearContents
End Function
目标是做类似的事情
For i = LBound(Get_Params, 1) to UBound(Get_Params, 1)
'Do something with Get_Params(i, 1)
Next i
我尝试使用该函数通过此解决方案手动分配数组Evaluate
,但这会产生我的错误。我也尝试使用Get_Params = [{Temp.Range("U2").Value, 1}]
并收到相同的错误
如何手动分配此数组以允许我无错误地通过上述循环?
解决方案
你可以更换
Get_Params = [{Temp.Range("U2"), 1}]
经过
Dim returnValue As Variant
'... then in the if statement:
ReDim returnValue(1 to 1, 1 to 1)
returnValue(1,1) = Temp.Range("U2").Value
Get_Params = returnValue
推荐阅读
- air - 将 Adobe Flex Web 应用程序迁移到 Adobe AIR 包应用程序 - ExternalInterface.call 失败
- kotlin - 将 json 模式动态转换为 kotlin 数据类
- php - php购物车,堆栈数量
- python-3.x - 在 Python3 asyncio 中与子进程通信
- networking - 为 ARK 服务器转发多个路由器的端口
- sql-server - 使用 convert 函数时将 varchar 转换为 int 时出错
- javascript - 连接到不同主机上的多个 SignalR 集线器
- angular - 如何将工具提示添加到正式字段
- javascript - 是否可以运行无限循环而不阻塞执行流程?
- java - 如何使用 SocketTImeoutException 模拟 Socket 以进行 JUnit 测试?