我正在尝试使用包含公式的二维数组创建一个excel。当我将数组放到excel时,所有公式都显示为#NAME
,直到您单击它们并按Enter键。
我尝试将其粘贴一次,将公式更改为类似=SUMA (A3;B3)
的简单形式,它也给了我#NAME
。
这是我用来创建数组的代码:
Dim arrayAgentesResumen(rsAgentesResumen.RecordCount + 1, numeroCamposResumenAgentes)
For index As Integer = 0 To numeroCamposResumenAgentes
arrayAgentesResumen(0, index) = arrayTitulosResumen(index)
Next
While Not rsAgentesResumen.EOF
arrayAgentesResumen(contadorAgentesResumen, 0) = rsAgentesResumen.Fields("agent").Value.ToString.Trim
arrayAgentesResumen(contadorAgentesResumen, 1) = rsAgentesResumen.Fields("media").Value.ToString.Trim
arrayAgentesResumen(contadorAgentesResumen, 2) = rsAgentesResumen.Fields("suma").Value.ToString.Trim
arrayAgentesResumen(contadorAgentesResumen, 3) = rsAgentesResumen.Fields("serviciosAntiguos").Value.ToString.Trim
arrayAgentesResumen(contadorAgentesResumen, 4) = "=CONTAR.SI('Agentes detalles'!C:C,'Agentes resumen'!A" & (contadorAgentesResumen + 1) & ")"
arrayAgentesResumen(contadorAgentesResumen, 5) = "=SI(Y(D" & (contadorAgentesResumen + 1) & "=0,E" & (contadorAgentesResumen + 1) & "<>0),""SI"",""NO"")"
arrayAgentesResumen(contadorAgentesResumen, 6) = "=SI(E" & (contadorAgentesResumen + 1) & ">D" & (contadorAgentesResumen + 1) & ",""SI"",""NO"")"
arrayAgentesResumen(contadorAgentesResumen, 7) = rsAgentesResumen.Fields("serviciosRls").Value.ToString.Trim
arrayAgentesResumen(contadorAgentesResumen, 8) = rsAgentesResumen.Fields("estadoRls").Value.ToString.Trim
contadorAgentesResumen += 1
rsAgentesResumen.MoveNext()
End While
在这里,我为两个数组创建了两个Excel工作表,第一个工作正常:
Dim xlApp = New Microsoft.Office.Interop.Excel.Application
Dim StartRow, StartCol
xlApp.Workbooks.Add()
xlApp.Sheets("Hoja1").Name = "Agentes detalles"
'Indico en que rango estara la informacion
StartRow = 1
StartCol = 1
xlApp.Range("A1").Resize(detalle.GetUpperBound(0) + 1, detalle.GetUpperBound(1) + 1).Formula = detalle
xlApp.Worksheets.Add()
xlApp.Sheets("Hoja2").Name = "Agentes resumen"
xlApp.Range("A1").Resize(resumen.GetUpperBound(0) + 1, resumen.GetUpperBound(1) + 1).Formula = resumen
xlApp.Range("B:B").NumberFormat = "0"
xlApp.Range("C:C").NumberFormat = "0"
xlApp.Range("D:D").NumberFormat = "0"
它应该显示公式的结果,但只给我#NAME
,其他字段可以正常工作。