Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
...
Attendo vostra cortese risposta e ringraziandovi anticipatamente saluto cordialmente.
Quando si lavora su fogli e in particolare su file diversi è bene tenere presente che gli spostamenti e le selezioni (peraltro quasi sempre inutili) potrebbero far 'perdere il riferimento' del foglio/file sul quale dovremmo trovarci e di conseguenza le macro potrebbero non lavorare correttamente.
T'invito a leggere questo interessante articolo proprio sull'argomento e ti allego le tue due macro 'leggermente' modificate, che recepiscono quanto detto.
Dopo aver letto i commenti in esse contenuti e modificato le parti evidenziate, provale, prima singolarmente e quindi congiuntamente.
Sub STAMPA()
'
' STAMPA Macro
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1
'--- ThisWorkbook è il file che contiene la macro in esecuzione
With ThisWorkbook
'--- indica il foglio sul quale vuoi lavorare
With .Worksheets("Foglio1")
'--- tutti gli oggetti/metodi con il . faranno riferimento al foglio Foglio1
.Range("G1").Value = .Range("G1").Value + 1
.Range("G4").Value = .Range("G4").Value + 1
.Unprotect
.Range("B6:H8,A10:H33").ClearContents
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
End With
End Sub
Sub REGISTRA()
'
' Registra Macro
'
Dim colonna As Long, riga As Long
colonna = 1
'--- il riferimento è ora al book "elenco ric. 12 mesi vuoto.xlsx" foglio Master
With Workbooks("elenco ric. 12 mesi vuoto.xlsx").Sheets("Master")
For riga = 1 To 54
If .Cells(riga, colonna).Value = "" Then
ThisWorkbook.Worksheets("Riepilogo").Range("A1:G1").Copy
.Cells(riga, colonna).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Exit For
End If
Next
End With
End Sub