Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

funzione personalizzata

Ultimo Aggiornamento: 13/10/2013 18:16
Post: 1
Registrato il: 13/10/2013
Città: BUSSETO
Età: 54
Utente Junior
365
OFFLINE
13/10/2013 16:26

buongiorno
avrei bisogno di creare una funzione personalizzata che tra le altre operazioni, operi su un range. Es.
= (a1*D1)/conta.numeri(a1:d1)
Finora ho sempre lavorato su singole celle e non so come passargli il range.
Mi potete aiutare?
grazie mille.
m.
Post: 1.440
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Veteran
2010
OFFLINE
13/10/2013 16:55

ciao
non so se ho ben capito.
ti riferisci a qualcosa del genere?

=PRODOTTO(A1:D1)/CONTA.NUMERI(A1:D1)



--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 1
Registrato il: 13/10/2013
Città: BUSSETO
Età: 54
Utente Junior
365
OFFLINE
13/10/2013 17:01

esatto.
Le mie conoscenze sono limitatissime,
non so se sbaglio a indicargli il range o la funzione conta ecc.
grazie
2010
Post: 1.442
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Veteran
2010
OFFLINE
13/10/2013 17:06

ma la formula che ti ho proposto, da il risultato voluto???

diversamente, dovresti spiegare meglio il quesito, possibilmente con allegato file di esempio.

se
a1=1
b1=2
c1=3
d1=4

quanto è il risultato voluto???

se è 6, allora la formula di prima è quella giusta
[Modificato da ninai 13/10/2013 17:08]



--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 1.403
Registrato il: 27/07/2010
Utente Veteran
OFFLINE
13/10/2013 17:13

Re:
maria(1970), 13/10/2013 16:26:

buongiorno
avrei bisogno di creare una funzione personalizzata che tra le altre operazioni, operi su un range. Es.
= (a1*D1)/conta.numeri(a1:d1)



Ciao,
intanto benvenuta poi, direi che hai posto la domanda in modo poco chiaro.

Stiamo parlando di una UDF (quindi VBA)?

Per citare una citazione citata dal buon ninai (chissà chi ne è l'autore [SM=g27835] ):
ninai:

"So che spiegare il proprio problema in modo comprensibile richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit.)

[Modificato da scossa 13/10/2013 17:17]

Bye!
scossa

scossa's web site
___
Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Post: 3.647
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
13/10/2013 17:43

Funzione
Ciao Maria, la prima cosa inserisci la tua versione Excel nella tua firma come fare clicca in fondo alla mia firma.

"VVVVualà", quante risposte in poco tempo, ci siamo accavallati

eccoti la tua Funzione

Function Maria(rng1 As Range, rng2 As Range, rng3 As Range)
Maria = (rng1 * rng2) / WorksheetFunction.CountA(rng3)
End Function


la copy in un modulo VBA

poi in una cella dove vuoi scrivi

=Maria(A1;B1;F15:F40)


ed avrai il tuo risultato

A1 e B1 sono i due valori da moltiplicare ed F15:F40 è l'intervallo del contanumeri

l'ho chiamata Maria, ma sostituendo Maria ad altro, potrai cambiare nome alla funzione.

Ciao By Sal [SM=x423051]


[Modificato da by sal 13/10/2013 17:45]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 2
Registrato il: 13/10/2013
Città: BUSSETO
Età: 54
Utente Junior
365
OFFLINE
13/10/2013 17:45

scusate,
mi sono spiegata male, avrei bisogno di una udf vba
che applichi la formula
= a1*d1/conta(a1:d1)

Se devo fare una funzione del tipo
Sub function x (y,z)
x = y+z^2 ce la faccio
ma non vado oltre.

Ho letto diverse cose in giro, ma non ho trovato qualcosa in tal
senso.
grazie mille e scusate ancora
m.
2010
Post: 1.405
Registrato il: 27/07/2010
Utente Veteran
OFFLINE
13/10/2013 17:53

Re:
maria(1970), 13/10/2013 17:45:

scusate,
mi sono spiegata male, avrei bisogno di una udf vba
che applichi la formula
= a1*d1/conta(a1:d1)



Ci sono più modi per fare quello che chiedi.
Ad esempio puoi passare come unico argomento il range:
=miaUDF1(A1:D1)

e nel codice risalire alle due celle estreme
Function miaUDF1(ByVal rRng As Range) As Double
  With rRng
    miaUDF1 = .Cells(1, 1).Value * .Cells(.Rows.Count, .Columns.Count).Value / Application.Count(.Cells)
  End With
End Function


Oppure puoi passare due argomenti: la cella iniziale e la cella finale del range:
=miaUDF2(A1;D1)

e nel codice costruire il range
Function miaUDF2(ByVal rPrima As Range, ByVal rUltima As Range) As Double
  miaUDF2 = rPrima.Value * rUltima.Value / Application.Count(Range(rPrima, rUltima))
End Function


Infine puoi passare tre argomenti come nell'udf di Sal (ciao):
=Maria(A1;D1;A1:D1)

Bye!
scossa

scossa's web site
___
Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Post: 3
Registrato il: 13/10/2013
Città: BUSSETO
Età: 54
Utente Junior
365
OFFLINE
13/10/2013 18:16

grazie infinite a tutti
anche per le spiegazioni
è ciò che mi serve.
m.
2010
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:53. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com