Visualizzazione dei risultati da 1 a 10 su 15

Visualizzazione discussione

  1. #10
    Utente di HTML.it L'avatar di ing82
    Registrato dal
    Sep 2014
    Messaggi
    177
    Quote Originariamente inviata da gibra Visualizza il messaggio
    Si usano dei parametri per riferimento, dichiarati ByRef, esempio:
    codice:
    Public Function myFunction(Byval par1 As Long, ByVal par2 As Long, ByRef parRif1 As Boolean, ByRef parRif2 As String) As Long
         Dim lngRet As Long
         If (par1 > 0) And (Par2>0) Then
              lngRet = (par1 * par2)
              parRif1 = True
              parRif2 = "Moltiplicazione eseguita con successo"
          Else
               parRif1 = False
              parRif2 = "Moltiplicazione fallita"
          End If
          MyFunction = lngRet
    End Function
    
    Rem -------------------------------------
    Rem Uso della funzione
    Rem -------------------------------------
    Dim lngRet As Long
    Dim bEsito As Boolean
    Dim sMsg As String
    
    lngRet = MyFunction(15, 2 , bEsito, sMsg)
    Debug.Print lngRet, besito, sMsg
    Vediamo se inizio a capirci qualcosa.
    La funzione postata da gibra, puo' essere usata cosi' come e' in un foglio di calcolo, ma l'unico valore che ottengo nel foglio di calcolo e' lngRet, tutto il resto va perso in quanto sto usando una function.
    Se voglio ottenere anche quei valori, allora credo che dovro' fare una sub del genere (prendetelo come pseudocodice, serve solo per proseguire nella discussione, la sintassi del VBA devo ancora digerirla essendo alle prime armi), rimanendomi i seguenti dubbi, per come vorrei poterla usare:
    - i 4 parametri da passare alla sub, quindi alla function, vorrei che fossero delle celle da definire 'al momento', non predefinite (con le funzioni, selezionerei col mouse ad esempio la cella in cui c'e' il parametro che sto per passare, con la sub non so se e' possibile questo)
    - vorrei che la sub venisse richiamata in automatico, come le funzioni di excel, o almeno quando una delle celle contenente i parametri a cui si riferisce viene modificata
    - molto probabilmente i byval e byref della sub sono da sistemare, ma per ora mi interessa capire se quello che ho in mente e' possibile o no senza scomodare pulsanti, form e altro, altrimenti torno al C++

    codice:
    sub miasub(Byval par1 As Long, ByVal par2 As Long, ByRef parRif1 As Boolean, ByRef parRif2 As String)
      call MyFunction(par1, par2, parRif1, parRif2)
    end sub



    Grazie
    Ultima modifica di ing82; 14-02-2019 a 19:22

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.