VBA重新调用函数

VBA重新调用函数,vba,excel,Vba,Excel,我有一个随时间推移的生产电子表格。对于本例,我有一列生产ID=API,以及正在使用的生产数据。每个API的生产数据长度不一致。下面是发生的步骤以及我的问题所在 在函数中创建7个数组的变体,并将它们转换为粘贴到电子表格中的单元格中 查找API的范围 查找生产范围本身(油) 数组的引用函数 将7个数组粘贴到前7行(不包括标题) 用第7个数组填充其余行 生产ID更改时停止 查找新API的新范围 **九,。这就是我的问题所在。这7个数组应该粘贴在此API的前7行中,但只粘贴第7个数组 重复步骤5 所以,

我有一个随时间推移的生产电子表格。对于本例,我有一列生产ID=API,以及正在使用的生产数据。每个API的生产数据长度不一致。下面是发生的步骤以及我的问题所在

  • 在函数中创建7个数组的变体,并将它们转换为粘贴到电子表格中的单元格中
  • 查找API的范围
  • 查找生产范围本身(油)
  • 数组的引用函数
  • 将7个数组粘贴到前7行(不包括标题)
  • 用第7个数组填充其余行
  • 生产ID更改时停止
  • 查找新API的新范围
  • **九,。这就是我的问题所在。这7个数组应该粘贴在此API的前7行中,但只粘贴第7个数组

  • 重复步骤5
  • 所以,我认为现在的情况是,我的子进程不再引用所有7个数组,而是只使用第7个数组。我想看看是否有办法重置宏中的函数,使其再次引用所有7个数组,而不仅仅是第7个数组

    下面是一个示例,说明了在API发生更改时,数组将粘贴到哪些行中

    我得到的是

    API|Array
    1  | 1
    1  | 2
    1  | 3
    1  | 4
    1  | 5
    1  | 6
    1  | 7
    1  | 7
    1  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    
    我想要的

    API|Array
    1  | 1
    1  | 2
    1  | 3
    1  | 4
    1  | 5
    1  | 6
    1  | 7
    1  | 7
    1  | 7
    2  | 1
    2  | 2
    2  | 3
    2  | 4
    2  | 5
    2  | 6
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    2  | 7
    
    目前,我的代码可以找到新的API并开始粘贴,但它只粘贴第7个数组(不包括前6行代码开头的内容)

    Sub-Quick()
    Application.ScreenUpdating=False
    Application.Calculation=xlCalculationManual
    作为射程的弱小目标
    最后一排一样长
    模糊公式1c1
    长得一样暗
    暗x等长
    暗淡的空气污染指数范围
    将newapi设置为长
    lastRow=单元格(Rows.Count,1).End(xlUp).Row
    y=1
    x=0
    '查找我的一系列生产API,以便在它们更改时查看
    设置api=范围(“A1:ZZ1”)。查找(“api”)
    设置api=api.Offset(1).行(api.Rows.Count).调整大小(lastRow-1)
    '查找生产数据的起始位置
    设定目标=范围(“A1:ZZ1”)。查找(“LiquidD”)
    '直到newapi=newpi-Target.Rows.Count为止
    直到x=2为止
    调用getR1C1Array'试图调用该函数,但没有成功
    公式1c1=0
    FormulaR1C1=getR1C1Array'这是我要重置的函数
    设置目标=目标。偏移量(1)。调整大小(UBound(公式1C1,1),UBound(公式1C1,2))
    直到api.Cells(y,0)结束。值api.Cells(y+1,0)。值
    y=y+1
    环
    api.单元格(y).选择
    newapi=ActiveCell.Row
    '查找所有数据的最后一行
    lastRow=单元格(Rows.Count,1).End(xlUp).Row
    '将目标向下设置一行(第2行),并调整大小以适应所有7个数据(#)数组
    '将所有7个数据(#)数组粘贴到目标中
    Target.FormulaR1C1=FormulaR1C1
    设置Target=Target.Rows(Target.Rows.Count)。调整大小(newapi-Target.Rows.Count)
    “粘贴所有
    Target.Rows(1).自动填充目标:=目标
    x=x+1
    环
    如果结束
    端接头
    '此函数用于保存填充到宏目标中的数组
    函数getR1C1Array()
    模糊数据
    重拨数据(6)
    “,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:R[1048574]C[-9],0)=0),平均值(RC[-9]:R[1048574]C[-9]),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,R[1048571]C[6]),0)”,“=IF(R[1048571]C[-23]=RC[-23],平均(RC[6]:R[1048571]C[6]),0)”,“=(截距(RC[-11]:R[-5]C[-11],RC[-15]:R[-5]C[-15])+(RC[-15]*斜率(RC[-11]:R[5]C[-11],RC[-15])-RC[-11],“=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1”),“=IF(RC[-1],=0)”,“=0
    “,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,[9]),0)”,“=IF(和(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-9]:RC[-9],0)=0)“如果(和)如果(和)(和(R[1048571]C[22]C[22]C[22]C[22]=RC[22]C[22]C[22]C[22],计数如果(或)如果(或)如果(或)如果(和)如果(和(和(R[1048571]C[22]C[22]C[22],计数如果(或)数字数字如果(C[6)如果(或(C[6)C[6)或(或(C[6)或(C[6)数字数字数字数字数字数字)如果(C[6)或(C[6)或(C[6)或(或(C[6)数字数字数字数字数字数字数字数字(C[6)C[6)C[6)数字(C[6)C[6):R[6]:R[6]:R[6]:R[6]数字(C[6]:R[6]:R[6]:R[6]:R[6]C[R[1048571]C[-6],0)=0),平均值(RC[-6]:R[1048571]C“=(截距(R[-1]C[-11]:R[4]C[-11]、R[-1]C[-15]:R[4]C[-15])+(RC[-15]*斜率(R[-1]C[-11]:R[4]C[-11]、R[-1]C[-15])-RC[-11]、“=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11]、=0,1”)、“=IF(RC[-1]、=0,”=0、=0
    第二天,第三天,第二天,第二天,第三天,第三天,第二天,第三天,第二天,第三天,第三天,第二天,第三天,第三天,第三天,第三天,第三天,第三天,第三天,第三天,第三天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二天,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,第二,[3]),0)”,“=IF(和(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-3]:RC[-3],0)=0)“如果(和)如果(和)(和(R[1048571]C[22]C[22]C[22]C[22]=RC[22]22]C[22]C[22],计数如果(计数)如果(C[6)C[6]C[6]:R[6]:R[6]:R[6]:R[6]:R[6]:R[6]C[6]C[6]C[6]:R[6]C[6]C[6]C[6]:R[6]C[6]:R[6]:R[6]C[6]:R[6]C[6]C[6]C[6]:R[6]C[6]C[6]C[6]:R[6]C[6]C[6]C[6]C[6]C[6]C[6]C[6]C[6]C[6]C[6]C[6]C[6]C[6]C R[1048571]C[-6],0)=0),平均值(RC[-6]:R[1048571]C“=(截距(R[-2]C[-11]:R[3]C[-11]、R[-2]C[-15]:R[3]C[-15])+(RC[-15]*斜率(R[-2]C[-11]:R[3]C[-11]、R[-2]C[-15]:R[3]C[-15])-RC[-11],“=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],”,“=IF(RC[-1]、=0,”=0),“=1,”=0
    数据(3)=数组(“=RC[-2]/天(EOMONTH(RC[-2,0))”,“=RC[-2]/天(EOMONTH(RC[-2,0)),”=RC[-2],“=RC[-3]+
    
    Sub Quick()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    Dim Target As Range
    Dim lastRow As Long
    Dim FormulaR1C1
    Dim y As Long
    Dim x As Long
    Dim api As Range
    Dim newapi As Long
    
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    y = 1
    x = 0
    
    'Finds my Range of production APIs to look when they change
        Set api = Range("A1:ZZ1").Find("API")
        Set api = api.Offset(1).Rows(api.Rows.Count).Resize(lastRow - 1)
    
    
    'Finds where my production data starts
        Set Target = Range("A1:ZZ1").Find("LiquidD")
        'Do Until newapi = newpi-Target.Rows.Count
        Do Until x = 2
            Call getR1C1Array  'Attempted to recall the function, but no luck
            FormulaR1C1 = 0
            FormulaR1C1 = getR1C1Array 'This is my function I want to reset
            Set Target = Target.Offset(1).Resize(UBound(FormulaR1C1, 1), UBound(FormulaR1C1, 2))
    
            Do Until api.Cells(y, 0).Value <> api.Cells(y + 1, 0).Value
                y = y + 1
            Loop
                api.Cells(y).Select
                newapi = ActiveCell.Row
                 'Finds last row of all data
                lastRow = Cells(Rows.Count, 1).End(xlUp).Row
                'Sets target one row down (row 2) and resizes to fit all 7 data(#) arrays
                'Pastes all 7 data(#) arrays into Target
                Target.FormulaR1C1 = FormulaR1C1
    
                Set Target = Target.Rows(Target.Rows.Count).Resize(newapi - Target.Rows.Count)
    
                'Pastes all
                Target.Rows(1).AutoFill Destination:=Target
              x=x+1
        Loop
    End If
    End Sub
    
    'This Function holds my arrays that are filled into the Target in the macro
    Function getR1C1Array()
    Dim data
    ReDim data(6)
    
    data(0) = Array("=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]", "=RC[-3]+RC[-2]/6", "=RC[-4]+RC[-3]/14", "=IF(AND(R[1048574]C[-18]=RC[-18],COUNTIF(RC[-9]:R[1048574]C[-9],0)=0),AVERAGE(RC[-9]:R[1048574]C[-9]),0)", "=IF(AND(R[1048574]C[-19]=RC[-19], COUNTIF(RC[-10]:R[1048574]C[-9],0)=0),AVERAGE(RC[-9]:R[1048574]C[-9]),0)", "=IF(AND(R[1048574]C[-20]=RC[-20],COUNTIF(RC[-9]:R[1048574]C[-9],0)=0),AVERAGE(RC[-9]:R[1048574]C[-9]),0)", "=IF(AND(R[1048571]C[-21]=RC[-21],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[1048571]C[-6]),0)", "=IF(AND(R[1048571]C[-22]=RC[-22],COUNTIF(RC[6]:R[1048571]C[6],0)=0),AVERAGE(RC[6]:R[1048571]C[6]),0)", "=IF(R[1048571]C[-23]=RC[-23],AVERAGE(RC[6]:R[1048571]C[6]),0)", "=(INTERCEPT(RC[-11]:R[-5]C[-11],RC[-15]:R[-5]C[-15])+(RC[-15]*SLOPE(RC[-11]:R[5]C[-11],RC[-15]:R[5]C[-15])))-RC[-11]", "=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1))", "=IF(RC[-1]=1,RC[-11],0)", "=0", "=0")
    data(1) = Array("=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]", "=RC[-3]+RC[-2]/6", "=RC[-4]+RC[-3]/14", "=IF(AND(R[-2]C[-18]=RC[-18],COUNTIF(R[-2]C[-9]:RC[-9],0)=0),AVERAGE(R[-2]C[-9]:RC[-9]),0)", "=IF(R[-2]C[-19]=RC[-19],AVERAGE(R[-2]C[-9]:RC[-9]),0)", "=IF(AND(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-9]:RC[-9],0)=0),AVERAGE(R[-2]C[-9]:RC[-9]),0)", "=IF(AND(R[1048571]C[-21]=RC[-21],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[-1048571]C[-6]),0)", "=IF(AND(R[1048571]C[-22]=RC[-22],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[1048571]C[-6]),0)", "=IF(AND(R[1048571]C[-23]=RC[-23],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[1048571]C[-6]),0)", "=(INTERCEPT(R[-1]C[-11]:R[4]C[-11],R[-1]C[-15]:R[4]C[-15])+(RC[-15]*SLOPE(R[-1]C[-11]:R[4]C[-11],R[-1]C[-15]:R[4]C[-15])))-RC[-11]", "=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1))", "=IF(RC[-1]=1,RC[-11],0)", "=0", "=0")
    data(2) = Array("=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]", "=RC[-3]+RC[-2]/6", "=RC[-4]+RC[-3]/14", "=IF(AND(R[-2]C[-18]=RC[-18],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(R[-2]C[-19]=RC[-19],AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[1048571]C[-21]=RC[-21],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[-1048571]C[-6]),0)", "=IF(AND(R[1048571]C[-22]=RC[-22],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[1048571]C[-6]),0)", "=IF(AND(R[1048571]C[-23]=RC[-23],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[1048571]C[-6]),0)", "=(INTERCEPT(R[-2]C[-11]:R[3]C[-11],R[-2]C[-15]:R[3]C[-15])+(RC[-15]*SLOPE(R[-2]C[-11]:R[3]C[-11],R[-2]C[-15]:R[3]C[-15])))-RC[-11]", "=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1))", "=IF(RC[-1]=1,RC[-11],0)", "=0", "=0")
    data(3) = Array("=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]", "=RC[-3]+RC[-2]/6", "=RC[-4]+RC[-3]/14", "=IF(AND(R[-2]C[-18]=RC[-18],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(R[-2]C[-19]=RC[-19],AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[1048571]C[-21]=RC[-21],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[-1048571]C[-6]),0)", "=IF(AND(R[1048571]C[-22]=RC[-22],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[1048571]C[-6]),0)", "=IF(AND(R[1048571]C[-23]=RC[-23],COUNTIF(RC[-6]:R[1048571]C[-6],0)=0),AVERAGE(RC[-6]:R[1048571]C[-6]),0)", "=(INTERCEPT(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])+(RC[-15]*SLOPE(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])))-RC[-11]", "=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1))", "=IF(RC[-1]=1,RC[-11],0)", "=0", "=0")
    data(4) = Array("=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]", "=RC[-3]+RC[-2]/6", "=RC[-4]+RC[-3]/14", "=IF(AND(R[-2]C[-18]=RC[-18],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(R[-2]C[-19]=RC[-19],AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-5]C[-21]=RC[-21],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=IF(AND(R[-5]C[-22]=RC[-22],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=IF(AND(R[-5]C[-23]=RC[-23],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=(INTERCEPT(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])+(RC[-15]*SLOPE(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])))-RC[-11]", "=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1))", "=IF(RC[-1]=1,RC[-11],0)", "=0", "=0")
    data(5) = Array("=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]", "=RC[-3]+RC[-2]/6", "=RC[-4]+RC[-3]/14", "=IF(AND(R[-2]C[-18]=RC[-18],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(R[-2]C[-19]=RC[-19],AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-5]C[-21]=RC[-21],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=IF(AND(R[-5]C[-22]=RC[-22],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=IF(AND(R[-5]C[-23]=RC[-23],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=(INTERCEPT(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])+(RC[-15]*SLOPE(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])))-RC[-11]", "=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1))", "=IF(RC[-1]=1,RC[-11],0)", "=0", "=0")
    data(6) = Array("=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]/DAY(EOMONTH(RC[-2],0))", "=RC[-2]", "=RC[-3]+RC[-2]/6", "=RC[-4]+RC[-3]/14", "=IF(AND(R[-2]C[-18]=RC[-18],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(R[-2]C[-19]=RC[-19],AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-2]C[-20]=RC[-20],COUNTIF(R[-2]C[-3]:RC[-3],0)=0),AVERAGE(R[-2]C[-3]:RC[-3]),0)", "=IF(AND(R[-5]C[-21]=RC[-21],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=IF(AND(R[-5]C[-22]=RC[-22],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=IF(AND(R[-5]C[-23]=RC[-23],COUNTIF(R[-5]C[-6]:RC[-6],0)=0),AVERAGE(R[-5]C[-6]:RC[-6]),0)", "=(INTERCEPT(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])+(RC[-15]*SLOPE(R[-3]C[-11]:R[2]C[-11],R[-3]C[-15]:R[2]C[-15])))-RC[-11]", "=IF(RC[-11]=0,0,IF(RC[-1]>RC[-11],0,1))", "=IF(RC[-1]=1,RC[-11],0)", "=0", "=0")
    
    data = Application.Transpose(data)
    data = Application.Transpose(data)
    getR1C1Array = data
    
    End Function
    
    Function getFormulaR1C1Array(Source As Range)
    Dim r As Range
    Dim Result As String
    Result = "Array("
    For Each r In Source
        'Chr(34) prints out a double quotation, "
        Result = Result & Chr(34) & Replace(r.FormulaR1C1, Chr(34), Chr(34) & Chr(34)) & Chr(34) & ","
    Next
    
    Result = Left(Result, Len(Result) - 1) & ")"
    
    getFormulaR1C1Array = Result
    
    End Function