Note: The other languages of the website are Google-translated. Back to English
Accedi  \/ 
x
or
x
Registrati  \/ 
x

or

Come raggruppare e ordinare le e-mail per mese in Outlook?

Le e-mail vengono ordinate in base alla data di ricezione nella Posta in arrivo di Outlook per impostazione predefinita. Tuttavia, non esiste alcun comando per ordinare o raggruppare tutte le email entro il mese ricevuto. Qui introdurrò un modo per raggruppare e ordinare tutte le e-mail per mese in Outlook.

Raggruppa o ordina le e-mail per mese in Outlook utilizzando il codice VBA


Raggruppa o ordina le e-mail per mese in Outlook utilizzando il codice VBA

Questo metodo ti guiderà a creare una nuova colonna denominata Mese, quindi applicare una macro VBA per estrarre il mese ricevuto nella nuova colonna, quindi puoi ordinare o raggruppare tutte le e-mail in base alla colonna Mese in Outlook.

1.  Apri una cartella di posta in cui ordinare o raggruppare le e-mail per mese e fai clic su Visualizza le impostazioni pulsante sulla Maggiori scheda in Outlook 2010 e versioni successive.

doc ordina le email per mese 1

Nota: In Outlook 2007, puoi fare clic su Maggiori > Vista corrente > Personalizza la visualizzazione corrente.

2. In arrivo Impostazioni di visualizzazione avanzate / Personalizza visualizzazione finestra di dialogo, fare clic su colonne pulsante (o campi pulsante).

doc ordina le email per mese 2

3. Nel Mostra colonna / campi finestra di dialogo, fare clic su Nuova colonna pulsante (o Nuovo campo pulsante) per aprire la finestra di dialogo Nuova colonna / campo, digitare Mese nello Nome scatola, conserva Testo selezionato in entrambi Tipologia scatola e Formato casella, quindi fare clic su OK pulsante. Vedi screenshot qui sotto:

doc ordina le email per mese 3

4.  Ora torni al file Mostra colonne / campi finestra di dialogo, fare clic per selezionare il file Mese oggetto nel Mostra queste colonne (o campi) in questo ordine casella e spostalo sotto il ricevuto cliccando il Move Up e infine fare clic sul pulsante OK pulsante.

doc ordina le email per mese 4

5. Clicca il OK pulsante per chiudere il Impostazioni di visualizzazione avanzate / Personalizza visualizzazione la finestra di dialogo.

6. Seleziona tutte le e-mail nella cartella di apertura selezionando qualsiasi e-mail e quindi premendo il Ctrl + A tasti contemporaneamente.

Note:: Se la Riquadro di lettura si accende, chiuderlo facendo clic su Maggiori > Riquadro di lettura > sconto.

7. Apri il Microsoft Visual Basic, Applications Edition finestra con premendo il altro + F11 nel frattempo, quindi fare clic su inserire > Modulo.

8. Incolla la seguente macro VBA nel modulo:

VBA: ordina o raggruppa le email per mese

Sub ListSelectionMonth()
	Dim aObj As Object
	Dim oProp As Outlook.UserProperty
	Dim sMonth
	
	On Error Resume Next
	
	For Each aObj In Application.ActiveExplorer.Selection
		Set oMail = aObj
		
		sMonth = Month(oMail.ReceivedTime)
		Set oProp = oMail.UserProperties.Add("Month", olText, True)
		oProp.Value = sMonth
		oMail.Save
		
		Err.Clear
	Next
	
End Sub

9. premi il F5 chiave per eseguire questa macro VBA.

10. Ora il mese ricevuto di ogni email viene estratto nel seguente Mese colonna. Per ordinare tutte le e-mail per mese in questa cartella di apertura, fai clic sull'intestazione della colonna di Mese. Vedi screenshot:

doc ordina le email per mese 5

Note:: Per raggruppare tutte le email per mese in questa cartella di apertura, fai clic con il pulsante destro del mouse sull'intestazione della colonna di Mesee quindi selezionare il Raggruppa per questo campo dal menu di scelta rapida. Vedi screenshot:

doc ordina le email per mese 6


Kutools for Outlook: porta 100 funzionalità avanzate in Outlook e semplifica notevolmente il lavoro!

  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple personalizzate; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo e-mail è nell'elenco BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email in secondi; Aggiunta automatica di saluto quando rispondi; Aggiungi la data all'oggetto ...
  • Strumenti per gli allegati: gestisci tutti gli allegati in tutti i messaggi, Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto ... Rapporto rapido, Conta le email selezionate...
  • E-mail spazzatura potenti per abitudine; Rimuovi messaggi e contatti duplicati... Consentono di fare in modo più intelligente, veloce e migliore in Outlook.
girato kutools outlook scheda kutools 1180x121
girato kutools outlook kutools plus tab 1180x121
 
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Armin · 2 months ago
    Strange.
    Made a restart. 
    Now it works.
    Sorry for bothering.

    Thx again :) <3
  • To post as a guest, your comment is unpublished.
    Armin · 2 months ago
    Sorry. Didn't saw that the page is origin in english. #emabarrased
    Google translate is getting better. :D

    Hello from Hamburg,
    great stuff. Thanks for this. :)
    Only a small problem.
    I had first adapted the code so that it puts the year and month together for me.

    Sub ListSelectionYearMonth()
    Dim aObj As Object
    Dim oProp As Outlook.UserProperty
    Dim oMail As Object
    Dim sMonth
    Dim sYear
    Dim sYearMonth

    On Error Resume Next

    For Each aObj In Application.ActiveExplorer.Selection
    Set oMail = aObj

    sMonth = Month(oMail.ReceivedTime)
    sYear = Year(oMail.ReceivedTime)

    If sMonth < 10 Then
    sMonth = 0 & sMonth
    Else
    sMonth = sMonth
    End If

    sYearMonth = sYear & "/" & sMonth
    Set oProp = oMail.UserProperties.Add("YearMonth", olText, True)
    oProp.Value = sYearMonth
    oMail.Save

    Err.Clear
    Next

    End Sub

    This worked wonderfully.
    Now I noticed in a folder that a grouping first by year and then by month increases the clarity.
    I used the original code.
    However, the column there remains empty.

    Sub ListSelectionMonth()
    Dim aObj As Object
    Dim oProp As Outlook.UserProperty
    Dim oMail As Object
    Dim sMonth

    On Error Resume Next

    For Each aObj In Application.ActiveExplorer.Selection
    Set oMail = aObj

    sMonth = Month(oMail.ReceivedTime)

    If sMonth < 10 Then
    sMonth = 0 & sMonth
    Else
    sMonth = sMonth
    End If

    Set oProp = oMail.UserProperties.Add("Month", olText, True)
    oProp.Value = sMonth
    oMail.Save

    Err.Clear
    Next

    End Sub

    I'm a bit perplexed at the moment.

    Glad about any advice

    VG
    Armin


    Translated with www.DeepL.com/Translator (free version)
  • To post as a guest, your comment is unpublished.
    Armin · 2 months ago
    Hallo aus Hamburg,
    super Sache. Danke dafür. :)
    Kleines Problem nur.
    Ich hatte zuerst den Code so angepasst das er mir Jahr und Monat zusammensetzt.

    Sub ListSelectionYearMonth()
    Dim aObj As Object
    Dim oProp As Outlook.UserProperty
    Dim oMail As Object
    Dim sMonth
    Dim sYear
    Dim sYearMonth

    On Error Resume Next

    For Each aObj In Application.ActiveExplorer.Selection
    Set oMail = aObj

    sMonth = Month(oMail.ReceivedTime)
    sYear = Year(oMail.ReceivedTime)

    If sMonth < 10 Then
    sMonth = 0 & sMonth
    Else
    sMonth = sMonth
    End If

    sYearMonth = sYear & "/" & sMonth
    Set oProp = oMail.UserProperties.Add("JahrMonat", olText, True)
    oProp.Value = sYearMonth
    oMail.Save

    Err.Clear
    Next

    End Sub

    Hat wunderbar geklappt.
    Nun ist mir in einem Ordner aufgefallen das eine Gruppierung zuersnach Jahr und dann nach Monat die Übersichtlichkeit noch erhöht.
    Habe als den ursprünglichen Code genommen.
    Dort bleibt dann allerdings die Spalte leer.

    Sub ListSelectionMonth()
    Dim aObj As Object
    Dim oProp As Outlook.UserProperty
    Dim oMail As Object
    Dim sMonth

    On Error Resume Next

    For Each aObj In Application.ActiveExplorer.Selection
    Set oMail = aObj

    sMonth = Month(oMail.ReceivedTime)

    If sMonth < 10 Then
    sMonth = 0 & sMonth
    Else
    sMonth = sMonth
    End If

    Set oProp = oMail.UserProperties.Add("Monat", olText, True)
    oProp.Value = sMonth
    oMail.Save

    Err.Clear
    Next

    End Sub

    Macht mich grad etwas ratlos.

    Freue mich über jeden Rat

    VG
    Armin
  • To post as a guest, your comment is unpublished.
    invisalign@gmail.com · 3 years ago
    This will also help.
  • To post as a guest, your comment is unpublished.
    Nikolay · 3 years ago
    The code works as in the article. But it does not apply to new letters. Every time you need to go to the created module in the Visual Basik and press F5.
  • To post as a guest, your comment is unpublished.
    hanzo · 3 years ago
    I used the above vba and let me begin by saying this does help in micro management which is not available by default. this is beneficial for archival and storage and not something supposed to work automatically for incoming email. I was able to modify this a bit and also add a year column. So for all emails I was able to get a month and year so that I can group and then regroup (by year and then by month). What I did find however is there is some kind of limitation to the number of items it goes through and then exists (not sure why). For example if I were to select a folder with 18k-19k emails, it will loop only through some and then at the end of the run it will not update all the emails with the required. However if you run in smaller batches then it runs perfectly fine. The painful part here is to keep on selecting in batches. This is a pain for people like me who wish to manage or rather arrange years or emails that runs in a 6 figures in numbers. Anyone here been able to figure this out out or willing to go on a troubleshooting spree to fix this or how this can be addressed ?
  • To post as a guest, your comment is unpublished.
    Bhushit Joshipura · 4 years ago
    That is, I want to group mails by subject and put the group with maximum mails on the top. How can I do that?
  • To post as a guest, your comment is unpublished.
    Bhushit Joshipura · 4 years ago
    I want to :

    1. Group mails by subject

    2. Sort them by number of e-mails inside the group

    How can I do achieve this?
    • To post as a guest, your comment is unpublished.
      Carine · 3 years ago
      I want this too
  • To post as a guest, your comment is unpublished.
    Oliver Stoltze · 4 years ago
    Is it possible to create VBA macro to group and sort emails by week?
  • To post as a guest, your comment is unpublished.
    Rizwaan Ansari · 4 years ago
    Isnt there a way to select all emails automatically before the for...next loop?
  • To post as a guest, your comment is unpublished.
    Fariz · 6 years ago
    New mail wont received in specified month category. New mail comes unedr none category. Plz rectify the problem
  • To post as a guest, your comment is unpublished.
    roger · 6 years ago
    This works for emails already in the Inbox, but does NOT create/enter data in the "Month" field for NEW emails!