小编tom*_*_uk的帖子

超过 255 个字符的数组公式

运行 VBA 代码时出现错误。

运行时错误“1004”:无法设置 Range 类的 FormulaArray 属性

我认为这是因为我有超过 255 个字符。

如果是这种情况,有人知道我可以使用的解决方法吗?

我的代码是下面漂亮的一团糟:

formula_string = "=-SUM("
account_counter = 1
Do Until Range("tblAccounts[[#Headers],[Accounts]]").Offset(account_counter, 0).Value = ""
    account_name = Range("tblAccounts[[#Headers],[Accounts]]").Offset(account_counter, 0).Value
    formula_string = formula_string & "IF(IFERROR(" & account_name & "[Category]=[@Categories],FALSE)*(" & account_name _
        & "[Transaction date]>=Budget!C$1)*(" & account_name & "[Transaction date]<=EOMONTH(Budget!C$1,0))," & account_name _
        & "[Outflow],0),"
    account_counter = account_counter + 1
Loop
formula_string = Left(formula_string, Len(formula_string) - 1) & ")"

    Do Until Range("tblBudget[[#Headers],[Ignore?]]").Offset(category_counter, 0).Value = ""
        If Range("tblBudget[[#Headers],[Ignore?]]").Offset(category_counter, 0).Value = "No" Then …
Run Code Online (Sandbox Code Playgroud)

excel vba

5
推荐指数
1
解决办法
3215
查看次数

选择Case Not Or

我希望只用一个案例来执行一个选择案例 - 案例不等于"P","Ev"或"Af".

这就是我到目前为止所拥有的.

Select Case Range("my_range").Offset(0, column_offset).Value
    Case Not "P", "Ev", "Af"
        'my code
 End Select
Run Code Online (Sandbox Code Playgroud)

该案例可以等于50个不同的值,我希望'my code对所有这些值执行相同的操作(下),除非结果是P,Ev或Af.

我也试着Not "P", Not "Ev", Not "Af"用替换一起,使用Or,但无济于事.

每次响应都是:

运行时错误'13':类型不匹配.

我知道我可以用if语句替换它......

If Range("my_range").Offset(0, column_offset).Value <> "P" And Range("my_range").Offset(0, column_offset).Value <> "Ev" And Range("my_range").Offset(0, column_offset).Value <> "Af" Then
    'my code
End if
Run Code Online (Sandbox Code Playgroud)

但如果可以的话,我更愿意使用Select Case选项.

有人想过吗?

非常感谢

编辑

我还应该说我确实尝试过使用过

Select Case Range("my_range").Offset(0, column_offset).Value
    Case "P", "Ev", "Af"
        Exit Select
    Case Else
        'my code
End Select
Run Code Online (Sandbox Code Playgroud)

但错误信息:

编译错误:预期:Do或For或Sub或Function或Property …

excel vba excel-vba select-case

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

excel ×2

vba ×2

excel-vba ×1

select-case ×1