Metodo Worksheet.Function
Publicado por Ismael (7 intervenciones) el 03/04/2017 23:40:49
Hola Foristas, les comento,
Me salta un error en tiempo de ejecución al usar el método Application.Worksheets.Function con condicional,
Ejemplo:
Si el método lo uso sin condicional me funciona perfecto !, por ejemplo Count solamente, sin "If" :
Me pasa lo mismo con todas las funciones (Sum, Count, Average, etc.). Al agregar el condicional, ya sea " If " o " Ifs " me aparece el error de la imagen.

"InvalidCastException"
Probé con decenas de variantes, como ser algunas:
Entre muchísimas otras, pero el problema persiste... :/
Alguien sabe qué podría ser?
Desde ya muy agradecido !
Me salta un error en tiempo de ejecución al usar el método Application.Worksheets.Function con condicional,
Ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Explicit On
Option Strict On
Imports System
Imports System.Globalization
Imports System.Threading
Imports Excel = Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop.Excel
Dim xlApp As New Microsoft.Office.Interop.Excel.Application
Dim xlLibro As Microsoft.Office.Interop.Excel.Workbook = CType(GetObject("C:\RUTA\Libro1.xlsm"), Workbook)
Dim xlHoja As Microsoft.Office.Interop.Excel.Worksheet = CType(xLibro.Worksheets("Hoja1"), Worksheet)
Private Sub BtnReporte_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnReporte.Click
Dim resultado As Double
resultado = CInt(xlApp.WorksheetFunction.CountIf(CType(xlHoja.Range("A1:A10"), Range), 5))
MessageBox.Show(CStr(resultado))
End Sub
Si el método lo uso sin condicional me funciona perfecto !, por ejemplo Count solamente, sin "If" :
1
resultado = CInt(xlApp.WorksheetFunction.Count(CType(xlHoja.Range("A1:A10")))
Me pasa lo mismo con todas las funciones (Sum, Count, Average, etc.). Al agregar el condicional, ya sea " If " o " Ifs " me aparece el error de la imagen.

"InvalidCastException"
Probé con decenas de variantes, como ser algunas:
1
2
3
4
5
6
7
8
9
10
11
12
13
resultado = CInt(xlApp.WorksheetFunction.CountIf(CType(xlHoja.Range("A1:A10"), Range), "5"))
resultado = CInt(xlApp.WorksheetFunction.CountIf(CType(xlHoja.Range("A1:A10"), Range), CStr(5)))
resultado = CInt(xlApp.WorksheetFunction.CountIf(CType(xlHoja.Range("A1:A10"), Range), REFERENCIA A UNA CELDA))
resultado = CInt(xlApp.WorksheetFunction.CountIf(CType(xlHoja.Range("A1:A10"), Range), "=5"))
resultado = xlApp.WorksheetFunction.CountIf(xlHoja.Range("A1:A10"), 5)
resultado = xlApp.WorksheetFunction.CountIf(xlHoja.Range("A1:A10"), "5")
resultado = xlApp.WorksheetFunction.CountIf(xlHoja.Range("A1:A10"), "=5")
Entre muchísimas otras, pero el problema persiste... :/
Alguien sabe qué podría ser?
Desde ya muy agradecido !
Valora esta pregunta


0