Personalizzato Funzione Media Sotto vedremo un programma in Excel VBA che crea una funzione definita utente che calcola la media di un intervallo selezionato in modo casuale ad esclusione di uno o più valori che sono valori anomali e sognerei essere in media. Le funzioni definite dall'utente devono essere collocati in un modulo. 1. Aprire l'editor di Visual Basic e fare clic su Inserisci, Modulo. 2. Aggiungere la seguente riga di codice: CUSTOMAVERAGE Function (. Rng come gamma, inferiore come numero intero superiore come numero intero) Il nome della nostra funzione è CUSTOMAVERAGE. La parte tra le parentesi significa che diamo Excel VBA una gamma e due variabili intero come input. Noi chiamiamo la nostra gamma RNG, una variabile Integer che noi chiamiamo più bassa, e una variabile Integer che noi chiamiamo in alto, ma è possibile utilizzare qualsiasi nome. 3. Successivamente, si dichiara un oggetto Range e due variabili di tipo integer. Chiamiamo la cellula oggetto Range. Una variabile Integer che chiamiamo totale e variabile un intero che noi chiamiamo conteggio. cellule Dim come gamma, totale come numero intero. contare come numero intero 4. Vogliamo controllare ogni cella in un intervallo selezionato in modo casuale (questo intervallo può essere di qualsiasi dimensione). In Excel VBA, è possibile utilizzare il ciclo For Each di questo componente. Aggiungere le seguenti righe di codice: per ogni cella IN RNG Nota: RNG e cellule sono scelti a caso qui, è possibile utilizzare qualsiasi nome. Ricordatevi di fare riferimento a questi nomi nel resto del codice. 5. Successivamente, verificare per ogni valore in questo intervallo se cade tra i due valori (inferiore e superiore). Se true, viene incrementato totale per il valore della cella e si incrementa conteggio di 1. Aggiungere le seguenti linee di codice alla rete. Se Cell. Value gt inferiore e superiore Cell. Value lt Poi conteggio totale Cell. Value conteggio totale 1 End If 6. Per tornare il risultato di questa funzione (la media desiderata), aggiungere la seguente riga di codice al di fuori del ciclo. CUSTOMAVERAGE conteggio totale 7. Non dimenticate di terminare la funzione. Aggiungere la riga: 8. Ora è possibile utilizzare questa funzione come qualsiasi altra funzione di Excel per calcolare la media dei numeri che rientrano tra due valori. Come verifica, è possibile eliminare tutti i valori che sono inferiori a 10 e superiore a 30 e utilizzare la funzione di media standard di Excel per vedere se Excel calcola la stessa media come la nostra funzione di media personalizzati. La nostra funzione media personalizzato funziona Nota: questa funzione è disponibile solo in questo workbook. I sto cercando di calcolare una media utilizzando Visual Basic 2010 e visualizzare questa media in una finestra di messaggio. Mentre il debug (commentando il codice e provare diverse variabili di essere inviato alla finestra di messaggio come stringa) ho avuto la finestra del messaggio di apparire, ma senza dati restituiti. Come ho il codice ora, non ricevono gli eventuali errori, ma non posso anche arrivare a comparire la finestra di messaggio. Fondamentalmente il programma ha all'utente di inserire un certo numero di libri che hanno letto che viene quindi utilizzato per calcolare un punteggio totale in base alla quantità di libri letti. L'esercizio chiede di mantenere una media di tutti i libri letti. chiesto 26 febbraio 14 a 1: 37Thread: calcolare un semplice rotolamento media mobile utilizzando VB 2010 calcolare un semplice rotolamento media mobile utilizzando VB 2010 il mio codice produce una variabile con una colonna di numeri come questo: quello che voglio fare è utilizzare VB per dare me la media per ogni x numero di linee, e quindi memorizzare che in un altro var, e poi hanno VB stampare il MAX e MIN di quelle medie. per esempio, se voglio calcolare la media per ogni 10 linee: 5248 5249 5258 5251 5247 5246 5251 5228 5235 5251 5246,4 5241 5245,7 5240 5244,8 5247 5243,7 5259 5244,5 5261 5245,9 così si può vedere che inizi con il record di 10 ° la media è calcolata per i record di 1-10, poi 2-11, poi 3-12, poi 4-13, poi 5-14, poi 6-15 AVG MAX è 5246,4 e il MIN è 5243,7 se volevo ottenere la media per ogni 5 record invece (per esempio), allora la prima media si calcola la media di 1-5, poi 2-6, poi 3-7 e così via qual è il modo migliore per codificare questo per ottenere la media mobile e trovare anche la MAX e MIN di quel Re media: calcolare un semplice rotolamento media mobile utilizzando VB 2010 Voleva dire esattamente quello che ha detto: ha una sola variabile stringa con tutti quei valori in esso separati da caratteri di nuova riga. Sarebbe possibile prendere quella variabile e Spalato, sulla nuova linea per rompere in una serie di numeri in un array di stringhe, che potrebbe poi essere convertito in un array di interi, ma io continuo a pensare che sarebbe meglio non avere quel variabile per cominciare. La mia solita firma noioso: Niente Re: calcolare un semplice rotolamento media mobile utilizzando VB 2010 d'accordo con Shaggy, id utilizzare una lista (di intero) al posto di una variabile con più righe contenenti 1 intero per riga. la lista sarebbe più versatile che avrebbe funzionato con il codice che ho postato. Re: calcolare un semplice rotolamento media mobile utilizzando VB 2010 ho un ciclo per costruire la stringa con i numeri in arrivo in quanto i dati si chiama ora il codice simile a questo: il problema con il codice è 1) i cant ottenere m60c di esistere al di fuori del ciclo (mostra solo l'ultimo valore, e 2) io non so come memorizzare i dati come viene come una serie di numeri interi, se i valori di input manuale dove è il codice funziona, altrimenti non ha bisogno un quadro più chiaro grazie per la risposta
No comments:
Post a Comment