Stampa Unione raggruppata , mergeseq - if - set

Anonimo
2013-08-09T13:34:16+00:00

Buongiorno,

vorrei un aiuto per un piccolo problema che non riesco a risolvere concernente la stampa unione.

Ho un elenco in excel dei DVD come il seguente:

Genere Titolo Regista Durata Anno
Commedia La vita e bella Hoffmann 120 1998
Commedia Un posto al sole Zemekis 125 2003
Commedia Vita da pazzi Castellito 100 2011
Azione Rambo Ford 126 1970
Azione Xman Ford 202 2013
Documentari Vita di pi Arnold 148 2000
Documentari Bugs life Rupert 178 2002
Animazione Card Kidman 201 2005
Animazione Monster Karlman 189 2006
Animazione Bee movie Ungaretti 89 2008
Drammatico Black howk dov Urngiat 205 2004
etc Etc Etc Etc etc

Con la stampa unione (word) vorrei ottenere il risultato di raggurppare la prima colonna (genere) e magari anche la terza colonna (regista) per non doverli ripetere ogni volta nell'elenco, un po' come nell'esempio qui sotto, non considerando la formattazione:

Commedia

La vita e bella*Hoffmann*120*1998

Un posto al sole*Zemekis*125*2003

Vita da pazzi*Castellito*100*2011

Azione

Rambo*Ford*126*1970

Xman*Ford*202*2013

Documentari

Vita di pi*Arnold*148*2000

Bugs life*Rupert*178*2002

Animazione

Card*Kidman*201*2005

Monster*Karlman*189*2006

Bee movie*Ungaretti*89*2008

Drammatico

Black howk dov*Urngiat*205*2004

Ho capito che le istruzioni dovrebbero assomigliare a queste qui sotto (fatte le dovute sostituzioni di parole) ma non riesco a farle funzionare. Qualcuno potrebbe aiutarmi?

Saluti

Ferdinando Giacalone

{ IF { MERGESEQ } = "1" "{ MERGEFIELD CITY }¶

" "" }{ SET Place1 { MERGEFIELD CITY }}¶

{ If { Place2 } <> { Place1 }"¶

{ MERGEFIELD CITY }¶

{ MERGEFIELD EMPLOYEE } { MERGEFIELD SALES }" "{ MERGEFIELD EMPLOYEE } { MERGEFIELD SALES }" }{ SET Place2 { MERGEFIELD CITY }}¶

Microsoft 365 e Office | Word | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2013-08-29T05:35:26+00:00

Aggiornamento,

ho riscritto le ultime istruzioni per ben 3 volte facendo attenzione a non fare errori di battitura o spazi inutili o necessari e finalmente ha funzionato!!!! Il dubbio che mi rimane invece è se si deve andare a capo per forza dove sta scritto li o se è un'optional.

Comunque sono riuscito a raggruppare la lista solo per Genere, e non so proprio come fare per raggrupparla anche per regista.

Se qualcuno lo sa ... me lo faccia sapere anche a me...

Ferdinando

Personalmente ordinerei la tabella sul foglio di Excel, prima della stampa unione.

Quindi in Excel:

  • scheda Dati
  • pulsante Ordina
  • ordina per genere
  • quindi aggiungi un livello
  • ordina per regista

A questo punto, apri Word e:

  • scheda Lettere
  • pulsante Stampa Unione
  • seleziona Creazione guidata stampa unione
  • seleziona Elenco
  • seleziona Successivo (in basso)
  • seleziona Usa il documento corrente
  • seleziona Successivo
  • seleziona Usa un documento esistente e quindi Sfoglia
  • cerca e seleziona il file di Excel
  • Apri
  • nella finestra che compare, seleziona Ok
  • ancora Ok per la finestra successiva
  • seleziona Successivo
  • seleziona Altro....
  • nella finestra seleziona le varie voci della tabella di Excel
  • chiudi la finestra
  • spazia/vai a capo fra le varie voci a seconda di come vuoi siano importati i dati in Word
  • dopo l'ultima voce inportata dai uno o due invii in più per separare i records
  • completa la stampa unione accettando le scelte di default

Senza scomodare Word. ottieni la stessa cosa con una macro di Excel da inserire in un modulo standard, che ti crea un nuovo foglio con i dati ordinati come nella stampa unione:

Public Sub m()

    Dim sh As Worksheet

    Dim shList As Worksheet

    Dim lRiga As Long

    Dim lng As Long

    Dim lCont As Long

    On Error Resume Next

    Application.DisplayAlerts = False

        ThisWorkbook.Worksheets("Lista").Delete

    Application.DisplayAlerts = True

    Set shList = ThisWorkbook.Worksheets.Add

    ActiveSheet.Name = "Lista"

    Set sh = ThisWorkbook.Worksheets("Foglio1")

    With shList

        lRiga = sh.Range("A" & sh.Rows.Count).End(xlUp).Row

        lCont = 2

        For lng = 2 To lRiga

            .Cells(lCont, 1).Value = sh.Cells(lng, 1).Value

            lCont = lCont + 1

            .Cells(lCont, 1).Value = sh.Cells(lng, 2).Value

            lCont = lCont + 1

            .Cells(lCont, 1).Value = sh.Cells(lng, 3).Value

            lCont = lCont + 1

            .Cells(lCont, 1).Value = sh.Cells(lng, 4).Value

            lCont = lCont + 1

            .Cells(lCont, 1).Value = sh.Cells(lng, 5).Value

            lCont = lCont + 2

        Next

        .Range("A:A").NumberFormat = "@"

    End With

    Set shList = Nothing

    Set sh = Nothing

End Sub

Se non hai mai utilizzato le macro, vedi qui:

http://answers.microsoft.com/it-it/office/wiki/office_2013_release-excel/excel-dove-e-come-inserire-il-codice-visual-basic/ed29ee63-a537-4e5d-8631-76766cf40503

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

14 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-08-29T10:04:24+00:00

    Grazie per la risposta Mauro, ma ci sono due problemini:

    1. non conosco il VBA
    2. la routine che mi hai dato non raggruppa per categoria.

    La cosa più importante per me è il raggruppamento: se ho 100 dvd "commedia" non voglio che commedia venga "stampato" 100 volte, ma solo 1 volta all'inizio dell'elenco. In più vorrei "raggruppare" i DVD anche per regista, se ho 20 dvd di woody hallen, non deve scrivere woody hallen 20 volte, ma solo la prima volta.

    Non mi serve la stampa id un elenco semplicemente "ordinato" ma anche raggruppato.

    Magari si può fare con excell ma non so come...

    Saluti

    Ferdinando

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-08-16T10:59:36+00:00

    ho condiviso 4 files

    https://skydrive.live.com/redir?resid=4A7E8EC7757B165!109

    file excel coi dati

    file word (report) con le istruzioni

    file word stampa con il risultato di queste istruzioni

    file word stampa2 con il risultato che vorrei, ma che non riesco a fare.

    grazie

    Ferdinando

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-08-12T14:12:45+00:00

    Ciao Ferdinando,

    grazie per aver postato la tua domanda nella Microsoft Community.

    Potresti, gentilmente, mettere in condivisione su SkyDrive i file (sia Word che Excel) che hai creato, così possiamo capire meglio il problema e aiutarti più velocemente.

    Per inviare il Tuo documento, leggi con attenzione “**Uso di SkyDrive per caricare file e immagini nel forum** di Microsoft Community.

    Saluti,

    Inga

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-08-09T16:36:26+00:00

    Aggiornamento,

    ho riscritto le ultime istruzioni per ben 3 volte facendo attenzione a non fare errori di battitura o spazi inutili o necessari e finalmente ha funzionato!!!! Il dubbio che mi rimane invece è se si deve andare a capo per forza dove sta scritto li o se è un'optional.

    Comunque sono riuscito a raggruppare la lista solo per Genere, e non so proprio come fare per raggrupparla anche per regista.

    Se qualcuno lo sa ... me lo faccia sapere anche a me...

    Ferdinando

    La risposta è stata utile?

    0 commenti Nessun commento