gpt4 book ai didi

c# - Excel范围使用问题(单元格错误检查)

转载 作者:行者123 更新时间:2023-11-30 12:18:18 36 4
gpt4 key购买 nike

我对每个单元格都有以下错误:“此单元格中的数字被格式化为文本或以撇号开头”要复制错误:我必须将来自 Web 服务的结果存储为字符串数组:示例:(3 x 3 数组)

402,568.03 美元 26.2% 30,052

107,719.59 美元 7.0% 55,176

81,370.35 美元 5.3% 54,365

令 values 为包含样本 (string[,] values) 的字符串数组令 r 为目标范围 (Excel.Range r)如果我做:r.Value2 = 值;

我想知道如何摆脱它。任何 .net 代码都很棒(C# 或 VB.NET)

注意:1) 在每个单元格中循环不是一种选择,因为数组可能非常大 (100, 54) 或 (1024, 104)。我已经做了,它没有这个错误,但是性能很差。

2) 禁用错误不是一个选项,因为我无法控制客户端设置。

3) 我注意到我使用 conver to number 上下文菜单修复了这个问题,但可以通过编程方式对受影响的范围执行此操作。

最佳答案

您可以以编程方式忽略每个单元格的错误。这可以通过以下 vba 代码完成:

<tableObject>.Range("Q1:Q1000").Errors.Item(<errorNo>).Ignore = true

哪里<tableObject>是您的数据所在的表并且 <errorNo>是以下错误类别之一:

1 xlEvaluateToError
2 xlTextDate
3 xlNumberAsText
4 xlInconsistentFormula
5 xlOmittedCells
6 xlUnlockedFormulaCells
7 xlEmptyCellReferences

当然你可以循环禁用所有 7 种错误类型

编辑:

首先使用上面的代码和循环向您的 excel 文件添加一个子例程,然后从 vsto 调用这个子例程:

ThisWorkbook.Application.Run("Sheet1.SayHelloVBA")

这个有用吗?

关于c# - Excel范围使用问题(单元格错误检查),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2383370/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com