//Constructor that takes an array of TreeNodes as an argument public NormalDistribution(AST.Range[] range_nodes, Excel.Application app) { //turn the dictionary into an Excel.Range Excel.Range r1 = range_nodes[0].GetCOMObject(app); foreach (AST.Range range_node in range_nodes) { try //in a try-catch because Union malfunctioned in one observed case { r1 = app.Union(r1, range_node.GetCOMObject(app)); } catch { } } _cells = r1; _size = r1.Count; _mean = __mean(); _variance = __variance(); _standard_deviation = __standard_deviation(); _error = __error(); _ranked_errors = __rank_errors(); }