ciclo con condizioni su colonne
Hai un problema con Excel? 
ciclo con condizioni su colonne
di pandullino (utente non iscritto) data: 29/02/2016 17:19:49
salve a tutti...
ho bisogno di fare la seguente operazione su 2 colonne in particolare: la prima è un elenco di tutti i giorni di un mese, dunque, ad esempio abbiamo i giorni da 01/06/2015 al 30/06/2015; la seconda riguarda le ore del giorno, da 0 a 23; la terza è il valore che mi servirà come output del controllo... in particolare per il mese di giugno abbiamo 30x24 righe univoche.
il risultato del mio calcolo vedrà dunque tre colonne con intestazioni
DATA (da 1/6 a 30/6) | ORA (sempre 0) | VALORE
penso serva un ciclo che scorra tutti i valori della seconda colonna ORA, appena trova il valore desiderato (es. 0), scrive nella cella 3 il VALORE che mi serve. Ci saranno dunque 24 valori, 1 per ogni giorno del mese.
Grazie in anticipo per l'aiuto.
di alfrimpa data: 29/02/2016 18:10:42
Ciao pandullino
Allega una file di esempio coerente con la tua situazione ed il risultato desiderato (inserito manualmente).
Alfredo
di pandullino (utente non iscritto) data: 01/03/2016 09:30:31
Ho appena inserito uno screenshot come esempio di dati a disposizione e corrispondente risultato da ottenere.
Grazie
di alfrimpa data: 01/03/2016 10:56:15
Ciao pendullino
Ti ho allegato file in cui ho inserito la sottostante macro che credo faccia quello che hai chiesto.
Sul foglio1 ti ho messo un pulsante per l'estrazione dei dati.
La macro l'ho scritta esclusivamente sulla base del tuo esempio ed ovviamente andrà adattata al tuo caso reale.
La macro funziona anche se aggiungi ulteriori dati.
Alfredo
Sub macro1()
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
lr = Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Range("B3:b" & lr)
Range("e3:g100").ClearContents
For Each cel In rng
ur = Cells(Rows.Count, 5).End(xlUp).Row
If cel.Value = 0 Then
Range("e" & ur + 1) = cel.Offset(0, -1).Value
Range("f" & ur + 1) = cel.Value
Range("g" & ur + 1) = cel.Offset(0, 1).Value
End If
Next cel
End Sub
|
di pandullino (utente non iscritto) data: 01/03/2016 12:48:48
E' chiaro, ma siccome ho provato a modificare il vba per replicare il discorso per le altre ore del giorno, trovo ancora dei problemi. Ho allegato proprio il file xls per farti capire il risultato che vorrei ottenere.
Grazie mille!
di pandullino (utente non iscritto) data: 01/03/2016 13:00:38
Grazie mille, ma ho risolto!!
Dovevo solo replicare l'if e cambiare la posizione delle colonne.
Gentilissimo!
Vuoi Approfondire?