将锥体求和到可变尺寸的表面

时间:2015-09-19 07:09:04

标签: vba

我正在尝试开发一个模型来计算锥形到第1行的总和,只有当单元格的值> 1时才给出可变大小的数组。 0。 如果总和是> = 1,我希望对锥体的范围着色以显示它。如果锥体击中A行边界,我需要它不会出错并且它以锥形形状延伸到另一个边界。这就是我现在所拥有的:

Public Sub MC()
Worksheets("SC").Cells.Clear
    Dim i&, j&
    For j = 1 To Worksheets("Data").Cells(1, Columns.Count).End(xlToLeft).Column
        For i = 1 To Worksheets("Data").Cells(Rows.Count, "A").End(xlUp).Row
            If Worksheets("Data").Cells(i, j) > 0 Then
                Worksheets("SC").Cells(i, j).Address , SumAndColorCone(Cells(i, j))
            Else: If Worksheets("Data").Cells(i, j) <= 0 Then Worksheets("SC").Cells(i, j) = "0"

            End If
        Next
    Next
End Sub

Public Function SumAndColorCone(r As Range) As Double
    Dim i&, k&, c As Range
    Set c = r
    For i = r.Row - 1 To 1 Step -1
        If r.Column - k < 2 Then Exit For
        Set c = Union(c, r(-k, -k).Resize(, (k + 1) * 2 + 1))
        k = k + 1
    Next
    c.Interior.Color = vbRed
    SumAndColorCone = Application.Sum(c)
End Function

0 个答案:

没有答案