Estrarre risultato da macro
Hai un problema con Excel? 
Estrarre risultato da macro
di gerbera (utente non iscritto) data: 28/09/2016 01:20:09
Ciao a tutti,
vorrei capire come all fine di una serie di operazioni posso estrarre fuori il risultato inserendo questo in una msgbox. Mi spiego meglio: in Prompt:" il risultato è: ...." vorrei il numero ottenuto grazie alle operazioni scritte nella macro al posto dei puntini.
come faccio dirgli che al posto dei puntini voglio il risultato? e come faccio a fargli capire che l'ultima operazione fatta è il risultato?? Spero di essere stata chiara.. scusate ma sono proprio alle prime armi!!!
Grazie milleeeeeeeee
di Luca73 data: 28/09/2016 08:52:21
Ciao
la tua domanda mi lascia molto perplesso.
Stai usando le macro pertanto dovresti sapere come si usano le variabili.
Per Scrivere un msgbox che ti dica "il risultato è" e aggiungere il risultato allora dei concatenare delle stringhe e per fare tale operazione si usa l'operatore &
pertanto se scrivo
pippo="Num" & "ero" & 3
pippo vale Numero3
analogamente devi fare per crearti il messaggio che sia il testo del msgbox.
Riguardo all'altra richiesta, VBA procede dall'alto verso il basso ovvero dalla prima istruzione dopo Sub.... in avanti pertanto l'ultima operazione è qulella più in basso o, in caso di cicli, quella più in basso dell'ultimo ciclo.
Ti ho scritto alcuni spunti per aiutarti a capire. per risoluzioni e suggerimenti più mirati dovresti allegare il tuo lavoro contenente la macro in questione.
Ciao
Luca
di Cucù data: 28/09/2016 08:57:41
Provo a risponderti:
Assegni ad una variabile il valore dell'ultima operazione fatta
esempio:
X = Cells(1, 1).value 'Ponendo il caso che il risultato finale che vuoi ottenere sia nella cella A1
'dopodichè
MsgBox "Il risultato è " & X & " !"
Cucù
di gerbera (utente non iscritto) data: 02/10/2016 14:52:24
grazie mille ci sono riuscita!!! :)
Adesso però ho un nuovo problema, vorrei crearne un'altra leggermente diversa. Vi spiego: anzichè avere un solo filtro, nell'esempio sotto è la colonna W, ne ho due: COLONNA T deve essere diverso da 0, colonna W uguale a 0.
Ecco, quando ho questi due filtri nelle due colonne, voglio sapere la media della colonna V.
Cosa devo aggiungere sotto? grazie mille a chi mi darà una mano ci sto provando ma mi dice errore!
Sub Macro3()
'
' Macro3 Macro
Dim iCount As Integer, iGiorni As Integer
iCount = 0
iGiorni = 0
Sheets("Foglio1").Select
Range("W24").Select
For i = 1 To 1000
If ActiveCell.Value <> "" Then
iCount = iCount + 1
ActiveCell.Offset(0, 3).Select
iGiorni = iGiorni + ActiveCell.Value
ActiveCell.Offset(1, -3).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Next
sAverage = iGiorni / iCount
Sheets("Foglio2").Select
MsgBox Buttons:=vbOKOnly, Prompt:="La media è: " & sAverage
End Sub |
di patel data: 02/10/2016 15:34:18
non disponendo del file è difficile capire cosa sbagli, però puoi avviare la macro con F8 e controllare ad ogni passo il valore delle variabili posizionandoci il mouse sopra e quindi capire cosa succede
di Luca73 data: 03/10/2016 09:43:19
Ciao
Concordo perfettamente con quanto scrive patel (che saluto caramente)
che è la stesso cosa che ti avevo chiesto anche io all'inizio. Allega un file.
Comunque giusto per darti un aiuto alla cieca, esistono gli operatori Booleani And, or, not
Che permettono di verificare più condizioni
per esempio
if (condizioneA and (not (condizioneB))) then
verrà eseguita se la condizione a è vera e quella B è falsa
If (range("A1")="" and Range("B1")=3) verrà eseguita se range A1 è vuoto e il range B1 vale 3.
ti ricordo che gli operatori di comparazione sono
= uguale
>maggiore, < minore
>= maggiore uguale <= minore uguale
<> diverso
Penso che ora ai tutte le info per fare quello che ti serve.
Ciao
Luca
Vuoi Approfondire?