Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

ORDINARE DATE ELENCO IN COLONNA MESE

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

ORDINARE DATE ELENCO IN COLONNA MESE

Postdi Helio » 15/11/17 18:38

Salve a tutti,

avrei un problema con questo elenco, in pratica dovrei mettere le date riportate per ogni farmaco, nella colonna del mese corrispondente, portando tutto su una sola riga. spero di essermi spiegato bene.

ho provato in diversi modi, ordinando e cercando sul forum, ma non ho trovato cose simili.

siete gli unici che potete salvarmi dal fare a mano questo lavoro che è lungo circa 17000 righe. :(

grazie anticipatamente.

http://www.filedropper.com/provaxinternet_1
Helio
Newbie
 
Post: 8
Iscritto il: 20/10/17 17:20

Sponsor
 

Re: ORDINARE DATE ELENCO IN COLONNA MESE

Postdi Marius44 » 15/11/17 19:57

Ciao
Prova ad inserire questa macro in un Modulo stamdard e associala ad un pulsante che metterai sul Foglio.
Codice: Seleziona tutto
Option Explicit

Sub Trasponi()
Dim ur As Long, i As Long, j As Long, a As Long
Dim med As String, dat As Integer, cn As Integer
ur = Cells(Rows.Count, 12).End(xlUp).Row
For i = 3 To ur
    med = Cells(i, 4).Value
    For j = i + 1 To ur
        If Cells(j, 4) <> med Then
            a = j - 1
            Exit For
        End If
    Next j
    For j = i To a
        If Cells(j, 12) <> "" Then
            dat = Month(Cells(j, 12))
            cn = Application.WorksheetFunction.Match(dat, Range("A1:X1"), 0)
            Cells(j, cn) = Cells(j, 12)
        End If
    Next j
Next i
End Sub


Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 549
Iscritto il: 07/09/15 22:00

Re: ORDINARE DATE ELENCO IN COLONNA MESE

Postdi Marius44 » 15/11/17 20:04

Ciao
dimenticavo una cosa importante: i mesi nella prima riga vanno indicati coi numeri e non per esteso (al limite il nome del mese puoi metterlo nella riga sottostante).

Ciao,
Mario
Marius44
Utente Senior
 
Post: 549
Iscritto il: 07/09/15 22:00

Re: ORDINARE DATE ELENCO IN COLONNA MESE

Postdi Helio » 16/11/17 15:50

grazie del tempo

applicando la macro, se ho fatto bene visto che è la prima macro mai applicata da me, il risultato ottenuto è questo:

http://www.filedropper.com/provaxinternetmacro

sarebbe possibile mettere tutto su una sola riga? cioè le diverse date affianco allo stesso farmaco.

ah, ho poi notato che non si è applicato alle ultime due date dell'elenco.

grazie ancora
Helio
Newbie
 
Post: 8
Iscritto il: 20/10/17 17:20

Re: ORDINARE DATE ELENCO IN COLONNA MESE

Postdi Marius44 » 16/11/17 16:42

Ciao
Ti dico subito che funziona anche nelle ultime due colonne (sembra che l'ultima non funzioni perchè NON ci sono date con dicembre).
Per mettere tutto su una riga la macro diventa così:
Codice: Seleziona tutto
Sub Trasponi()
Dim ur As Long, i As Long, j As Long, a As Long
Dim med As String, dat As Integer, cn As Integer
ur = Cells(Rows.Count, 12).End(xlUp).Row
Range(Cells(3, 13), Cells(ur, 24)).ClearContents      '<== pulisce i precedenti
For i = 3 To ur
    med = Cells(i, 4).Value
    For j = i + 1 To ur
        If Cells(j, 4) <> med Then
            a = j - 1
            Exit For
        End If
    Next j
    For j = i To a
        If Cells(j, 12) <> "" Then
            dat = Month(Cells(j, 12))
            cn = Application.WorksheetFunction.Match(dat, Range("A1:X1"), 0)
            Cells(i - 1, cn) = Cells(j, 12)        '<== ho cambiato la j con i-1 nella cella di destinazione
        End If
    Next j
    i = j           '<== ho aggiunto questa riga per far venire tutte le date nella stessa riga del farmaco
Next i
End Sub


Prova e fai sapere.
Ciao,
Mario
Marius44
Utente Senior
 
Post: 549
Iscritto il: 07/09/15 22:00

Re: ORDINARE DATE ELENCO IN COLONNA MESE

Postdi Helio » 16/11/17 18:06

grazie ancora, la macro gira alla perfezione.

cmq in ogni caso mi riferivo alle ultime righe con le date, non alle colonne. ma non è un problema, li ho spostati a mano.

mi hai risparmiato un lavoro enorme.

adesso devo solo vedere se riesco a far uscire in automatico le date successive all'ultima considerando la posologia dei vari farmaci. per esempio: 28 compresse x 1 al giorno = la data ultima riportata vicino al farmaco + 28 e di farla inserire nella colonna del mese giusto. che ne dici? si può fare?

spero di farcela.

cmq non finirò mai di ringraziare per tutto questo lavorone che mi hai risparmiato! troppo gentile
Helio
Newbie
 
Post: 8
Iscritto il: 20/10/17 17:20

Re: ORDINARE DATE ELENCO IN COLONNA MESE

Postdi Marius44 » 16/11/17 18:43

Ciao
Hai ragione perle ultime righe. Correggi questo punto della macro così
Codice: Seleziona tutto
    For j = i + 1 To ur
        If Cells(j, 4) <> med Then
            a = j - 1
            Exit For
        ElseIf j = ur Then         '<== aggiungi
            a = ur                 '<== aggiungi
        End If
    Next j


Ciao,
Mario
Marius44
Utente Senior
 
Post: 549
Iscritto il: 07/09/15 22:00


Torna a Applicazioni Office Windows


Topic correlati a "ORDINARE DATE ELENCO IN COLONNA MESE":


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti