【问题标题】:Excel c# add cells to rangeExcel c#将单元格添加到范围
【发布时间】:2010-06-10 10:53:19
【问题描述】:

是否可以将单元格添加到范围?因为我需要的单元格不是相邻的。

示例:
我需要在一个范围内添加带有 x 的单元格

x 0 x x
x 0 x x
x 0 x x

这可能吗?如果有,怎么做?

谢谢

【问题讨论】:

  • 您也可以使用VBA中的'Union'函数来建立一个多区域范围。

标签: c# excel range add cells


【解决方案1】:

试试这个

VBA:

Range("B26,B19,B13").Select

C#

Excel.Range excelCell = (Excel.Range)excelWorksheet.get_Range("B26,B19,B13", Type.Missing);

【讨论】:

  • 嗨,Tommy,我尝试在我的应用程序中使用这一行,但在那一行出现运行时错误。如果您能帮助我,我将不胜感激!我已经在stackoverflow.com/questions/16334760/… 询问了所有信息的问题。请看一看。
  • 我发现当范围字符串长度超过 250 个字符时,我会收到运行时错误。我希望这有助于尝试更新大量分散字段的其他人。
【解决方案2】:

我找不到解决办法,所以我最终不得不为这些专栏创建新系列。

Excel.SeriesCollection series =  chartPage[1].SeriesCollection();
        Excel.Series TSeries1 = series.NewSeries();
        TSeries1.XValues = xlWorkSheet.Range[xlWorkSheet.Cells[2, 1], xlWorkSheet.Cells[chart1.Series[0].Points.Count + 1, 1]];
        TSeries1.Values = xlWorkSheet.Range[xlWorkSheet.Cells[2, 5], xlWorkSheet.Cells[chart1.Series[0].Points.Count + 1, 5]];
        TSeries1.Name = "Setpoint Value";
        Excel.Series TSeries2 = series.NewSeries();
        TSeries2.XValues = xlWorkSheet.Range[xlWorkSheet.Cells[2, 1], xlWorkSheet.Cells[chart1.Series[0].Points.Count + 1, 1]];
        TSeries2.Values = xlWorkSheet.Range[xlWorkSheet.Cells[2, 6], xlWorkSheet.Cells[chart1.Series[0].Points.Count + 1, 6]];
        TSeries2.Name = "Process Value";

【讨论】:

    【解决方案3】:

    VBA

    Option Explicit
    
    Sub ShowAreaUse()
    
        Dim oRange As Range
        Dim oArea As Range
    
        'create range with four cells
        Set oRange = Range("C9,E22,F15,I6")
    
        Debug.Print "Range with four area ranges"
        Debug.Print oRange.Address
    
        For Each oArea In oRange.Areas
            Debug.Print "    " + oArea.Address
        Next
    
        'add more cells
        Set oRange = Range(oRange.Address + ",A1:B10")
    
        Debug.Print "Range with added cells"
        Debug.Print oRange.Address
    
        For Each oArea In oRange.Areas
            Debug.Print "    " + oArea.Address
        Next
    
        Debug.Print "Dump Range Cells"
    
        For Each oArea In oRange
            Debug.Print "    " + oArea.Address
        Next
    
    End Sub
    

    【讨论】:

      【解决方案4】:

      忽略这个,我的建议没有正常工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多