EXCEL VBA 定义SHDCAL函数计算选中的两个区域的值复制给数组X 和Y
时间: 2024-09-20 16:04:29 浏览: 14
在Excel VBA中,`SHDCAL` 函数并不是内置的函数,它不是一个标准函数。不过,如果你需要实现类似的功能,可以自定义一个过程来计算选定区域的数据并将其赋值给数组 `X` 和 `Y`。假设你想计算A1:B10和C1:D10两个范围内的数值,并将结果存储在数组中,你可以按照下面的方式编写:
```vba
Sub CopyRangeToArrays()
Dim ws As Worksheet
Dim rng1 As Range, rng2 As Range
Dim X() As Variant, Y() As Variant
Dim i As Long, j As Long
'设置工作表变量
Set ws = ThisWorkbook.Sheets("Sheet1") '<修改为你实际的工作表名
'设置两个范围
Set rng1 = ws.Range("A1:B10")
Set rng2 = ws.Range("C1:D10")
'初始化数组大小
ReDim X(1 To rng1.Rows.Count)
ReDim Y(1 To rng2.Rows.Count)
'填充数组
For i = 1 To rng1.Rows.Count
X(i) = rng1.Cells(i, 1).Value
Y(i) = rng2.Cells(i, 1).Value
Next i
'假设你需要的是行数据,若要按列处理,只需交换X和Y的位置
'...此处可以继续处理数组X和Y
End Sub
```
这个VBA子程序会从指定的区域复制数据到数组 `X` 和 `Y` 中。如果需要其他帮助或有特定需求,请告诉我,我可以进一步说明。