c# - 简化 Excel 单元格列表以创建范围

标签 c# algorithm excel vsto

我想从动态生成的单元格引用列表中创建一个 Excel.Range 对象。

Excel.Range outputRange = sheet.get_Range(strCellRange, Type.Missing);

由于 strCellRange 可以变得相当大,它会给出 com 异常。 因此,我想将其简化为具有联合的范围符号。

例如

string strCellRange = "F2,G2,H2,I2,J2,K2,L2,F7,G7,H7,I7,J7,K7,L7,F12,G12,H12,I12,J12,K12,L12,F17,G17,H17,I17,J17,K17,L17,F22,G22,H22,I22,J22,K22,L22,F27,G27,H27,I27,J27,K27,L27";

string strCellRange = "F2:L2,F7:L7,F12:L12,F17:L17,F22:L22,F27:L27";
  1. 是否有任何 Excel 方法可以创建包含大量单元格引用的 Range 对象?
  2. 是否有已知的算法来实现上述简化(矩阵算法)?

最佳答案

加延,

VBA 中,您可以将直接字符串强制到一个范围内

Sub Test()
Dim rng1 As Range
Dim strCellRange As String
strCellRange = "F2,G2,H2,I2,J2,K2,L2,F7,G7,H7,I7,J7,K7,L7,F12,G12,H12,I12,J12,K12,L12,F17,G17,H17,I17,J17,K17,L17,F22,G22,H22,I22,J22,K22,L22,F27,G27,H27,I27,J27,K27,L27"
Set rng1 = Range(strCellRange)
Set rng1 = Union(rng1, rng1)
Debug.Print rng1.Address
End Sub

关于c# - 简化 Excel 单元格列表以创建范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172361/

相关文章:

arrays - 三个数组中的三个附近的数字

ruby - 如何在 Ruby 中编写归并排序算法

python - 保存工作簿时出现 KeyError

key 大小的 C# 和 PHP 加密/解密 php 问题

c# - 设计模式 : Many Methods Share The Same First Step

java - 为什么在常量(字符)上使用变量时异或运算的工作方式不同

c# - Adam Freeman 的 C# 中的专业并行编程示例中抛出了 OperationCanceledException。这是一个错误还是我错过了什么?

algorithm - 如何计算一个 "not so simple"程序的复杂度?

excel - 如何从文件名中删除文件扩展名(VBA)

excel - 如何从excel中的单元格中拆分内容