Condividi:        

Dati.Carburanti

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Dati.Carburanti

Postdi paolino791 » 15/05/12 20:40

Salve raga sto cercando di creare nel fogli allegato le azione che deve svolgere la macro..Ma sbaglio da qualche parte...Se mi potreste dire dove..Grazie :) Vi allego il file e il codice: http://www.mediafire.com/?76rybxmtiz9um84
Codice: Seleziona tutto
....
Sheets("Inserisci Dati").Select
    If Cells(6, 2).Value = Cells(17, 3) Then
    x = Cells(6, 6)
    y = Cells(6, 7)
    End If
    Sheets("Consumi Medi").Select
    nriga = 1
    While Cells(nriga, 1) <> x
    nriga = nriga + 1
    Wend
    rigalibera = nriga + 1
    While Cells(rigalibera, 1) <> y
    rigalibera = rigalibera + 1
    Wend
    Z = Cells(rigalibera, 2)
    Cells(20, 2).Value = Z
End Sub
paolino791
Utente Junior
 
Post: 25
Iscritto il: 01/05/12 07:44

Sponsor
 

Re: Dati.Carburanti

Postdi Flash30005 » 15/05/12 20:48

Ma non hai dato alcuna specifica
come funziona il tuo file-programma?
Cosa vorresti fare?

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Dati.Carburanti

Postdi paolino791 » 15/05/12 21:04

Flash30005 ha scritto:Ma non hai dato alcuna specifica
come funziona il tuo file-programma?
Cosa vorresti fare?

ciao

Hai ragione scusami praticamente al click su inserisci deve riportare i dati nella tabella "diesel" nel primo caso..e i dati relativi ai km/l li deve prendere dalle due tabelle che stanno in "consumi medi"...a seconda dei due dati "strada percorsa ed "andatura" presenti in "inserisci dati" deve ridarmi nel foglio "diesel" il valore dei km/l.
paolino791
Utente Junior
 
Post: 25
Iscritto il: 01/05/12 07:44

Re: Dati.Carburanti

Postdi Anthony47 » 15/05/12 23:46

Mi permetto di suggerire:
-sui vari fogli Diesel, Benzina etc crea una struttura dati "uguale" a quella che hai nel foglio "Inserisci Dati" C6:G6
-la tabella automobili/carburante la fai mettendo prima la riga automobile e sotto la riga carburante
-usi un Cerca.Orizzontale nella tabella Auto/carburante per riportare in B7 il tipo di carburante e quindi il foglio target
-in questo modo puoi copiare i dati digitati nel foglio appropriato con una istruzione del tipo
Codice: Seleziona tutto
Sheets("Inserisci Dati").Range("C6:G6").Copy Destination:=Sheets(Range("B7").value).Cells(Rows.count,1).End(Xlup).Offset(1,0)

Nota: dovrebbe sostituire in blocco tutta la tua Sub nuovoins
-se sono dati "a consuntivo" non ha senso prendere il "consumo medio" da una tabella che da' la casa madre: segna gli Euro spesi (come segni il costo a litro e i km percorsi) e poi il consumo medio lo calcoli (sui fogli Diesel, Benzina, etc) come ConsumoMedio=(EuroSpesi/CostoPerLitro/KmPercorsi*100 (in lt/100 km)
-idem usi formule excel per calcolare nelle relative colonne i Km/lt, Euro/Km etc

Andando al file che hai pubblicato:
-se sul foglio di inserimento scrivi "Media" e nel foglio ConsumiMedi scrivi "media" (ad esempio) allora fai fatica a trovare la corrispondenza...
Ma con quello che ho detto tutto il foglio sarebbe inutile.

Spero che trovi qualche spunto utile.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19222
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Dati.Carburanti

Postdi Flash30005 » 16/05/12 00:30

Secondo me ti ricavi delle medie fittizie e non reali
Per sapere i Km/l
devi avere i km percorsi (e li hai 800) ma anche i litri consumati che lo sai solo quando rieffettui il pieno di carburante.

Comunque per la tua richiesta elimina tutto il codice che hai inserito in ThisWorkbook :?: e anche quello nel modulo
e in un modulo vuoto incolla questa macro assegnando il comando di avvio
Codice: Seleziona tutto
Sub InserisciDati()
Set Ws1 = Worksheets("Inserisci Dati")
Set Ws3 = Worksheets("Consumi Medi")
Auto = Ws1.Range("B6").Value
Strada = Ws1.Range("F6").Value
Andatura = Ws1.Range("G6").Value
For CC1 = 3 To 6
If Auto = Ws1.Cells(17, CC1).Value Then
    Carbur = Ws1.Cells(16, CC1).Value
    Set Ws2 = Worksheets(Carbur)
    CC3 = CC1 - 1
    GoTo saltaCC1
End If
Next CC1
saltaCC1:
For RR3 = 1 To 13 Step 6
    If Strada = Ws3.Range("A" & RR3) Then
        Select Case Andatura
        Case "A Risparmio"
            Riga3 = RR3 + 1
        Case "Media"
            Riga3 = RR3 + 2
        Case "Elevata"
            Riga3 = RR3 + 3
        End Select
    End If
Next RR3
UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1
Ws2.Range("A" & UR2).Value = Ws1.Range("C6").Value
Ws2.Range("B" & UR2).Value = Ws1.Range("D6").Value
Ws2.Range("C" & UR2).Value = Ws3.Cells(Riga3, CC3).Value
Ws2.Range("D" & UR2).Value = Ws1.Range("E6").Value

End Sub


Ciao

EDIT: Leggi quanto scritto da Anthony
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Dati.Carburanti

Postdi paolino791 » 16/05/12 10:43

Ragazzi vi ringrazio tantissimo per la pronta risposta :)
Allora, non ho capito una cosa..facendo nel modo che hai detto tu cmq ho lo stesso problema di andare a prendere i dati in "consumi medi" mi pare..? Praticamente il foglio era "a consuntivo" e ora ti metto i link di com'era...(http://www.mediafire.com/?lu7u6s7anwnjdt5),ma ho voluto anche creare una cosa diversa che magari mi da valori non proprio precisissimi ma con cui posso fare qualche studio di ammortamento e di payback(infatti avevo inserito la scheda manutenzione ecc che riempirò man mano); Che ne dici dell'altro file che ho fatto??? Per quanto riguarda il codice, ho 21 anni e sono alla prima settimana di VBA quindi vorrei chiedervi qualche spiegazione..:) Allora Anthony non ho capito cosa fai nella seconda riga di codice da cells in poi, e poi Flash30005 non ho capito quella parte da SaltaCC1e poi dove hai messo la variabile UR2..Per quanto riguarda il mio codice era un errore stupido ma che proprio non riuscivo a vedè...Vi ringrazio ancora :) Ciaooooo!

EDIT: Raga vorrei soddisfare una curiosità...Ma come si fa a fare sti programmini del genere e farli diventari programmi veri per pc o per smartphone..Bisogna sapere qualche altro linguaggio di programmazione??..Illuminatemi :)
paolino791
Utente Junior
 
Post: 25
Iscritto il: 01/05/12 07:44

Re: Dati.Carburanti

Postdi Anthony47 » 16/05/12 14:48

facendo nel modo che hai detto tu cmq ho lo stesso problema di andare a prendere i dati in "consumi medi" mi pare..?
A chi ti stai rivolgendo?
Da quello che ho suggerito io (e forse Flash ha detto una cosa analoga) la tabella dei consumi medi "stimati" non serve perche' ti fai i calcoli dei consumi medi "reali".
Nella mia seconda riga di codice (da "Destination" in poi) vado a posizionare le celle appena copiate nella prima riga libera di foglio indicato in B7 del foglio attivo (che e' InserisciDati); in B7 la formula Cerca.Orizzontale avra' inserito il corretto valore del foglio target.
Non sono in grado di valutare il tuo foglio di lavoro; ritengo pero' che siano sbagliati alcuni calcoli sul foglio SpecchiettoRiassuntivo, in particolare dove fai la media di altri valori che sono a loro volta medie; devi invece ricalcolare, es km/litri=KmPercorsi/LitriInseriti.

Ti consola sapere che a 21 anni sapevo un po' di elettronica digitale e di logica booleana ma nulla di linguaggio vba?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19222
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Dati.Carburanti":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti