Forum Discussion

zuzzurellone76's avatar
zuzzurellone76
Copper Contributor
May 11, 2021
Solved

Come posso impedire l'interruzione di pagina sulle celle unite?

I have a form from my company that I would like to fill in semi-automatically using macros. The problem is that by entering the data, the cells widen according to the entered text and the merged cells sometimes get split by the page break. Word has the function that prevents this from happening, I would like to know if there is such a thing in excel.

I would like excel to run it automatically

  • NikolinoDE's avatar
    NikolinoDE
    May 11, 2021

    zuzzurellone76 

    Può anche essere impostato automaticamente con VBA, qui solo un piccolo esempio, deve solo essere impostato come desiderato.

    Devi giudicare se lo sforzo è utile o se non è più facile adattare i fogli di lavoro.

     

    Private Sub CommandButton1_Click()
    Dim dummy As Boolean
    Dim xelRows As Long, i As Long
    Application.ScreenUpdating = False
    'On Error Resume Next
    With ActiveSheet
    .ResetAllPageBreaks
    End With
    With ActiveSheet.PageSetup
    .PrintTitleRows = "$1:$7"
    .PrintArea = "$A$1:$E$89"
    .CenterHorizontally = True
    .CenterVertically = False
    .Orientation = xlLandscape
    .Draft = False
    .PaperSize = xlPaperA4
    .LeftFooter = " Creato da Nikolino"
    .CenterFooter = " Nikolino era qui "
    .RightFooter = "&P"
    .Order = xlDownThenOver
    .BlackAndWhite = False
    .Zoom = False
    .FitToPagesWide = 1
    .FitToPagesTall = 6
    .LeftMargin = Application.InchesToPoints(0.5)
    .RightMargin = Application.InchesToPoints(0.5)
    .HeaderMargin = Application.InchesToPoints(0.25)
    .TopMargin = Application.InchesToPoints(0.85)
    .BottomMargin = Application.InchesToPoints(0.5)
    .FooterMargin = Application.InchesToPoints(0.2)
    End With
    Application.ScreenUpdating = True
    dummy = MsgBox("Se non ti piace l'anteprima di stampa, modificala manualmente ", vbOKOnly, 
    " titolo ")
    ActiveWindow.SelectedSheets.PrintPreview
    'Visualizza un oggetto così come verrà stampato.
    End Sub	

     

     Ultimo pensiero:

    oppure puoi prima copiare l'intera area in una tabella di aiuto.

    Effettuare lì le regolazioni della pressione e quindi svuotare nuovamente.

    Ciò significa che le tue attuali schede tecniche possono ancora essere utilizzate.

    Se fai tutto in un foglio di calcolo nascosto, nessuno se ne accorgerà.

    Spero che questo ti abbia aiutato.

     

    Nikolino

    So di non sapere niente (Socrate)

     

    * Segna e vota gentilmente questa risposta se aiuta, per favore, poiché sarà utile per più membri della Comunità che leggono qui.

3 Replies

  • NikolinoDE's avatar
    NikolinoDE
    Platinum Contributor

    zuzzurellone76 

    L'autore del testo non parla italiano - il testo è stato tradotto da un software linguistico.

     

    Come prevenire l'interruzione di pagina tra le celle unite in Excel?

    Fare clic sull'intestazione per ulteriori informazioni.

     

    Spero che questo ti abbia aiutato.

     

    Nikolino

    So di non sapere niente (Socrate)

     

    * Segna e vota gentilmente questa risposta se aiuta, per favore, poiché sarà utile per più membri della Comunità che leggono qui.

    • zuzzurellone76's avatar
      zuzzurellone76
      Copper Contributor
      Grazie della risposta, ma vorrei che excel lo facesse in automatico. Poiché il file a cui è dedicato il modolo verrà compilato da persone che non sono in grado di spostare le interruzioni di pagina manualmente.
      • NikolinoDE's avatar
        NikolinoDE
        Platinum Contributor

        zuzzurellone76 

        Può anche essere impostato automaticamente con VBA, qui solo un piccolo esempio, deve solo essere impostato come desiderato.

        Devi giudicare se lo sforzo è utile o se non è più facile adattare i fogli di lavoro.

         

        Private Sub CommandButton1_Click()
        Dim dummy As Boolean
        Dim xelRows As Long, i As Long
        Application.ScreenUpdating = False
        'On Error Resume Next
        With ActiveSheet
        .ResetAllPageBreaks
        End With
        With ActiveSheet.PageSetup
        .PrintTitleRows = "$1:$7"
        .PrintArea = "$A$1:$E$89"
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = xlPaperA4
        .LeftFooter = " Creato da Nikolino"
        .CenterFooter = " Nikolino era qui "
        .RightFooter = "&P"
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 6
        .LeftMargin = Application.InchesToPoints(0.5)
        .RightMargin = Application.InchesToPoints(0.5)
        .HeaderMargin = Application.InchesToPoints(0.25)
        .TopMargin = Application.InchesToPoints(0.85)
        .BottomMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.2)
        End With
        Application.ScreenUpdating = True
        dummy = MsgBox("Se non ti piace l'anteprima di stampa, modificala manualmente ", vbOKOnly, 
        " titolo ")
        ActiveWindow.SelectedSheets.PrintPreview
        'Visualizza un oggetto così come verrà stampato.
        End Sub	

         

         Ultimo pensiero:

        oppure puoi prima copiare l'intera area in una tabella di aiuto.

        Effettuare lì le regolazioni della pressione e quindi svuotare nuovamente.

        Ciò significa che le tue attuali schede tecniche possono ancora essere utilizzate.

        Se fai tutto in un foglio di calcolo nascosto, nessuno se ne accorgerà.

        Spero che questo ti abbia aiutato.

         

        Nikolino

        So di non sapere niente (Socrate)

         

        * Segna e vota gentilmente questa risposta se aiuta, per favore, poiché sarà utile per più membri della Comunità che leggono qui.