Condividi tramite

Stampa di celle selezionate separatamente

Anonimo
2016-09-08T11:03:25+00:00

Buongiorno a tutti.

La mia domanda è la seguente. Devo stampare esclusivamente alcune celle di un foglio Excel. Le celle non sono ravvicinate, ma piuttosto sparse. Quindi seleziono una evidenziandola e poi, tenendo premuto il tasto CTRL, seleziono le altre. 

Clicco su stampa, imposto stampa solo la selezione, ma l'anteprima e la conseguente stampa mi posiziona una cella per foglio, al massimo due. Senza posizionarle tutte in un foglio. In questo modo avviene uno spreco notevole di carta, visto che devo ritagliarle e plastificarle. 

Vorrei sapere se c'è la possibilità di selezionare celle distanti tra loro in un foglio e riuscirle a stampare tutte su uno stesso foglio.

Grazie mille! Vi prego urgente per lavoro

Microsoft 365 e Office | Excel | 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

1 risposta

Ordina per: Più utili
  1. Anonimo
    2016-09-08T13:04:15+00:00

    Ciao Chiara,

    La mia domanda è la seguente. Devo stampare esclusivamente alcune celle di un foglio Excel. Le celle non sono ravvicinate, ma piuttosto sparse. Quindi seleziono una evidenziandola e poi, tenendo premuto il tasto CTRL, seleziono le altre. 

    Clicco su stampa, imposto stampa solo la selezione, ma l'anteprima e la conseguente stampa mi posiziona una cella per foglio, al massimo due. Senza posizionarle tutte in un foglio. In questo modo avviene uno spreco notevole di carta, visto che devo ritagliarle e plastificarle. 

    Vorrei sapere se c'è la possibilità di selezionare celle distanti tra loro in un foglio e riuscirle a stampare tutte su uno stesso foglio.

    Grazie mille! Vi prego urgente per lavoro

    Prova qualcosa del genere:

    • Alt+F11 per aprire l'editor di VBA
    • Alt+IM per inserire un nuovo modulo di codice
    • Nel nuovo modulo vuoto, incolla il seguente codice:

    '=========>>

    Option Explicit

    Public Const mioFoglio As String = "Foglio1"       '<<==== Modifica

    '--------->>

    Public Sub StampaCelle()

        Dim WB As Workbook

        Dim SH As Worksheet, tempSH As Worksheet

        Dim Rng As Range, rArea As Range

        Dim arrCelle As Variant

        Dim sStr As String

        Dim i As Long, j As Long, k As Long

        Set WB = ThisWorkbook

        With WB

            Set SH = .Sheets(mioFoglio)

            Set tempSH = .Sheets.Add(Before:=SH)

        End With

        With SH

            sStr = .PageSetup.PrintArea

            arrCelle = Split(sStr, Application.International(xlListSeparator))

            j = 1

            For i = LBound(arrCelle) To UBound(arrCelle)

                Set Rng = .Range(arrCelle(i))

                With Rng

                    k = .Rows.Count

                    .Copy tempSH.Range("A" & j)

                End With

                j = j + k

            Next i

        End With

        With tempSH

            .UsedRange.EntireColumn.AutoFit

            .PrintOut  'Preview

            Application.DisplayAlerts = False

            .Delete

            Application.DisplayAlerts = True

        End With

    End Sub

    '<<========= 

    • Ctrl+R per accedere alla finestra Project Explorer ('Gestione progetti')
    • Fai doppio clic sul modulo ThisWorkbook (Questa_cartella_di_Lavoro) del file e incolla il seguente codice:

    '=========>>

    Option Explicit

    '--------->>

    Private Sub Workbook_BeforePrint(Cancel As Boolean)

            If ActiveSheet.Name = mioFoglio Then

            Call StampaCelle

            Cancel = True

        End If

    End Sub

    '<<=========

    • Alt+Q per chiudere l'editor di VBA e tornare a Excel
    • Salva il file con l’estensione xlsm

    Ora, quando si seleziona l'opzione per stampare il foglio di interesse, le celle di interesse saranno stampati in un intervallo contiguo, sfruttando un foglio temporaneo che viene eliminato dopo l'operazione di stampa. Tutti gli atri fogli saranno stampati nel modo normale.

    Potresti scaricare il mio file di prova Chiara20160908.xlsm a:

    https://www.dropbox.com/s/cy0me0h274p77ty/Chiara20160908.xlsm?dl=0

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento