044. Trovare e riportare valori

Download PDF

Domanda:

ho da risolvere un problema sicuramente semplice per voi, ma non per me(purtroppo),vengo alla descrizione:
colonna A i giorni del mese(A1valore1,A2 valore 2….A30 valore 30), su colonna B dovrò mettere degli asterischi casuali (praticamente i giorni di CIGS che la persona deve prendere nel mese relativo) quindi saranno casuali e non necessariamente sequenziali per un totale di 5 giorni (5 asterischi) mensili, vorrei ottenere in fondo, nelle celle B31-B32-B33-B34-B35 esattamente il numero del giorno corrispondente a dove ho messo l’asterisco (es. “*” messi nei giorni 3-7-13-14-18) dovrò avere automaticamente in fila mostrati i suddetti valori nelle celle B31-B32-B33-B34-B35, cosa che ora faccio a mano. ho provato col comando CERCA.VERT o SE ma…davvero non sono riuscito nell’intento.Confido in un vostro risolutivo aiuto. Potrei fornire anche uno screenshot del foglio excel, per semplificarvi la cosa, ma non credo si possa fare da qui

Risposta:

E’ possibile risolvere il problema o utilizzando la nostra funzione “Nlookup” (vedi relativo articolo del nostro sito) o attraverso il seguente codice VBA:

Conteggio = 0

For i = 1 To 30

    If Cells(i, 2) = "*" Then

    Conteggio = Conteggio + 1
        Select Case Conteggio
        Case 1
        Cells(31, 2) = Cells(i, 1)
        Case 2
        Cells(32, 2) = Cells(i, 1)
        Case 3
        Cells(33, 2) = Cells(i, 1)
        Case 4
        Cells(34, 2) = Cells(i, 1)
        Case 5
        Cells(35, 2) = Cells(i, 1)
        Case Is > 5
        MsgBox "Sono stati opzionati più di 5 giorni!", vbCritical
        End Select
    End If
Next i

In pratica:
inizializzo la variabile Conteggio,
con un ciclo For-Next scorro la colonna B alla ricerca degli asterischi,
quando ne trovo uno incremento la variabile di una unità.
Con ciclo Select Case verifico il valore della variabile e lo utilizzo per decidere su quale riga scrivere il corrispondente valore della colonna A.

A voi il file:
APRI

Riccardo Vincenti

The following two tabs change content below.