Ho una cartella di lavoro di Excel in cui quasi tutto è automatizzato. Apre altre cartelle di lavoro, copia i dati da loro, li chiude e quindi scorre i dati più volte per generare report che stampiamo e usiamo. Quasi ogni volta dopo aver eseguito tutto il VBA e dopo aver provato a stampare, l'anteprima di stampa si blocca sia trovando la stampante che caricando le dimensioni della pagina come si vede nell'immagine. La chiusura di Excel e la riapertura del documento ripristinano l'anteprima di stampa alla normale funzionalità. L'unica cosa legata alla stampa che fa il VBA è cambiare l'area di stampa. Non ho avuto questo problema con altri documenti che eseguono VBA. È solo un bug o forse qualcosa nel codice?Problemi di anteprima di stampa dopo aver eseguito grandi quantità di VBA
Questo è il codice che causa anteprima di stampa per riuscire a caricare in qualche modo. Se salgo questa sezione, funziona come previsto ... Mi piacerebbe avere questo codice in qualche modo in quanto è ancora necessario.
Set wb1 = Workbooks.Open(FileName)
Set wb2 = ThisWorkbook
For i = LBound(sArray) To UBound(sArray) 'Loops through array, copies available data from last report
ShtName = sArray(i, 0)
On Error Resume Next
wb1.Sheets(ShtName).Activate
If Err.Number = 0 Then
wb1.Sheets(ShtName).Activate
Columns("A:U").Copy
wb2.Sheets(ShtName).Activate
Columns("BE:BV").Select
Selection.PasteSpecial xlPasteValues
Application.CutCopyMode = False
lastrow = Cells(Rows.Count, "BE").End(xlUp).Row
Range("BA2:BC2").Select
Selection.AutoFill Destination:=Range(Cells(2, "BA"), Cells(lastrow, "BC")), Type:=xlFillDefault
End If
On Error GoTo 0
DoEvents
Next i
wb1.Close False
Sheet2.Activate
Ho provato commentando "On Error Resume Next", "On Error Goto 0", "Se ...", "End If" e "DoEvents". Anteprima di stampa non riesce ancora con quelli rimossi e basta fare il copia e incolla dal foglio precedente.
È necessario fornire alcune informazioni aggiuntive se si sta cercando una soluzione. Qual è il codice? Cosa succede se non si esegue la parte dell'area di stampa del codice? Succede su ogni macchina? E riguardo le diverse versioni di Excel? – Raystafarian
Puoi pubblicare il tuo codice in modo che possiamo vedere cosa sta succedendo? Potrebbe esserci un problema con l'apertura o la perdita delle cartelle di lavoro. Puoi provare a impostare ActivePrint o PaperSize qualcosa di simile a 'ActiveWorkbook.Sheets (" Nome "). PageSetup.PaperSize = xlPaperLegal' – MatthewD
Forse puoi controllare la raccolta di nomi sia a livello di foglio di lavoro sia a livello di foglio di lavoro _after_ hai eseguito il VBA . Se trovi che ci sono più nomi Print_Area o altre voci di nomi strani, questo potrebbe essere il tuo colpevole. Il problema è che il problema viene eliminato riavviando Excel, il che suggerisce che i nomi delle cartelle di lavoro che iterate nel processo stanno inquinando la raccolta dei nomi nella cartella di lavoro principale che presenta il problema di Anteprima di stampa. –