none
WorksheetFunction RRS feed

  • Pregunta

  • Tenía una duda acerca de como usar el WorksheetFunction.

    He encontrado numerosos códigos, pero al implementarlos me da el siguiente error: 'Worksheets no está declarado. Puede que esté inaccesible debido al nivel de protección'.

    En mi ejemplo tengo una form en la que se leen una serie de textbox, de los que saldrán una serie de variables numéricas. Quiero hacer una operación con estas usando una WorksheetFunction y que me imprima eso en un msgbox.

    En internet he encontrado el siguiente código:

    Sub SumVariables()
    Dim dResult As Double
    Dim dNum As Double
    Dim iNum As Integer
    Dim lNum As Long 
        iNum = 1000
        lNum = 70000
        dNum = 25.65 
            dResult = WorksheetFunction.Sum(iNum, lNum, dNum) 
            MsgBox dResult
    End Sub


    Al introducirlo dentro del 'Private Sub Button...' que activaría la acción del msgbox el resultado me da el mensaje de error anterior y quería saber como se podría definir para que no me diera ese error.

    Muchas gracias por todo.

    PD: Estoy utilizando Visual Studio 2010 Ultimate.

    • Cambiado Enrique M. Montejo sábado, 1 de marzo de 2014 11:54 Programación con Microsoft Excel
    miércoles, 26 de febrero de 2014 16:46

Todas las respuestas

  • Hola,

    Gracias por consultar en el foro. Déjanos saber tus comentarios con respecto a la última pregunta. Esperamos tus comentarios.

    Saludos,

    Miguel

    MSDN/TechNet Soporte Comunidades

    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 27 de febrero de 2014 23:57
  •        

         ' aqui entre comillas pon el nombre de tu archivo de excel y la ruta

            Dim fileName As String = "C:\prueba.xlsx"
            Dim total As Integer


            If Not My.Computer.FileSystem.FileExists(fileName) Then
                MsgBox(fileName & " No existe")
                Exit Sub
            End If


            ' Set the object variable to refer to the file you want to use.
            oExcel = CreateObject("Excel.Application")
            oBook = oExcel.Workbooks.Open(fileName, ReadOnly:=True)

           'aqui en lugar de Hoja1 pones el nombre de tu hoja
            oSheet = oExcel.Worksheets("Hoja1")

          ' se sumara el contenido de  las casillas desde la A1 hasta la A3

           total = oExcel.WorksheetFunction.Sum(oSheet.Range("A1:A3")) 

            MsgBox(total)

    es un ejemplo para contar casillas pero lo puedes adaptar para sumar

    y en caso de que quieras contar casillas cambias Sum y poner Count

          
    jueves, 7 de junio de 2018 1:06
  •              'me falto declarar los objetos      

          Dim oExcel As Object
            Dim oBook As Object
            Dim oSheet As Object

           ' es el nombre de tu archivo de excel y la ruta

            Dim fileName As String = "C:\prueba1.xlsx"
            Dim total As Integer


            If Not My.Computer.FileSystem.FileExists(fileName) Then
                MsgBox(fileName & " No existe")
                Exit Sub
            End If


            ' Set the object variable to refer to the file you want to use.
            oExcel = CreateObject("Excel.Application")
            oBook = oExcel.Workbooks.Open(fileName, ReadOnly:=True)


            oSheet = oExcel.Worksheets("Hoja1")

           ' por si quieres sumar las casillas A1 hasta la A3 de excel
            total = oExcel.WorksheetFunction.Sum(oSheet.Range("A1:A3")) 

            MsgBox(total)

           
    jueves, 7 de junio de 2018 1:12