ciao a tutti,
grazie per le risposte.
in riferimento alla richiesta di Norman e Mauro vi posto i codici:
le prime due macro create sono quelle di controllo:
Sub ControlAnagrafica_1() Questa è la Macro 1
Sheets("MODULO AFC").Select
If Range("B7") = "" Then
MsgBox ("Campo 'RAGIONE SOCIALE' Non Compilato")
[B7].Select
ElseIf Range("B8") = "" Then
MsgBox ("Campo 'CODICE CLIENTE' Non Compilato")
[B8].Select
ElseIf Range("B10") = "" Then
MsgBox ("Campo 'PARTITA IVA' Non Compilato")
[B10].Select
ElseIf Range("B11") = "" Then
MsgBox ("Campo 'TIPOLOGIA CLIENTE' Non Compilato")
[B11].Select
ElseIf Range("B12") = "" Then
MsgBox ("Campo 'CAUSALE' Non Compilato")
[B12].Select
ElseIf Range("C7") = "" Then
MsgBox ("Campo 'NOTE' Non Compilato")
[C7].Select
Else
Exit Sub
End If
End Sub
____________________________________________________________________________
Sub Controllocampi_1() Questa è la Macro 2
Sheets("MODULO AFC").Select
If Range("E17") = "" Then
MsgBox ("Campo FATTURA N. Non Compilato ")
Range("E17").Select
ElseIf Range("E18") = "" Then
MsgBox ("Campo EMESSA IL Non Compilato ")
Range("E18").Select
ElseIf Range("E19") = "" Then
MsgBox ("Campo CICLO FATTURA Non Compilato ")
Range("E19").Select
ElseIf Range("D23") = "Tutta La Fattura" And Range("E23") <> "" Then
RigaBlocco_1
ElseIf Range("H65536").End(xlUp).Offset(0, -7) = "" And Range("H65536").End(xlUp).Offset(0, -4) <> "Tutta La Fattura" And Range("H65536").End(xlUp).Offset(0, -4) <> "Effettivo" Then
MsgBox ("Campo 'CATEGORIA SERVIZIO' Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -7).Select
ElseIf Range("H65536").End(xlUp).Offset(0, -6) = "" And Range("H65536").End(xlUp).Offset(0, -4) <> "Tutta La Fattura" And Range("H65536").End(xlUp).Offset(0, -4) <> "Effettivo" Then
MsgBox ("Campo 'INDIRIZZO SEDE' Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -6).Select
ElseIf Range("H65536").End(xlUp).Offset(0, -5) = "" And Range("H65536").End(xlUp).Offset(0, -4) <> "Tutta La Fattura" And Range("H65536").End(xlUp).Offset(0, -4) <> "Effettivo" Then
MsgBox ("Campo 'SERVIZIO IN FATTURA' Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -5).Select
ElseIf Range("H65536").End(xlUp).Offset(0, -4) = "" And Range("A1") = "MODULO ACCREDITI" Then
MsgBox ("Campo TIPO ACCREDITO Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -4).Select
ElseIf Range("H65536").End(xlUp).Offset(0, -4) = "" And Range("A1") = "MODULO ADDEBITI" Then
MsgBox ("Campo TIPO ADDEBITO Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -4).Select
ElseIf Range("H65536").End(xlUp).Offset(0, -3) = "" Then
MsgBox ("Campo 'IMPONIBILE' Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -3).Select
ElseIf Range("A1") = "MODULO ACCREDITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Importo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -2) = "" Then
MsgBox ("Campo PERIODO DA ACCREDITARE - DAL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -2).Select
ElseIf Range("A1") = "MODULO ACCREDITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Importo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -1) = "" Then
MsgBox ("Campo PERIODO DA ACCREDITARE - AL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -1).Select
ElseIf Range("A1") = "MODULO ACCREDITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Rateo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -2) = "" Then
MsgBox ("Campo PERIODO DA ACCREDITARE - DAL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -2).Select
ElseIf Range("A1") = "MODULO ACCREDITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Rateo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -1) = "" Then
MsgBox ("Campo PERIODO DA ACCREDITARE - AL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -1).Select
ElseIf Range("A1") = "MODULO ADDEBITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Importo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -2) = "" Then
MsgBox ("Campo PERIODO DA ADDEBITARE - DAL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -2).Select
ElseIf Range("A1") = "MODULO ADDEBITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Importo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -1) = "" Then
MsgBox ("Campo PERIODO DA ADDEBITARE - AL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -1).Select
ElseIf Range("A1") = "MODULO ADDEBITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Rateo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -2) = "" Then
MsgBox ("Campo PERIODO DA ADDEBITARE - DAL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -2).Select
ElseIf Range("A1") = "MODULO ADDEBITI" And Range("H65536").End(xlUp).Offset(0, -7) = "Rateo Canone" And Range("H65536").End(xlUp).Offset(0, -4) = "Parziale" And Range("H65536").End(xlUp).Offset(0, -1) = "" Then
MsgBox ("Campo PERIODO DA ADDEBITARE - AL - Non Compilato ")
Range("H65536").End(xlUp).Offset(0, -1).Select
Else
Exit Sub
End If
End Sub
______________________________________________________________________________________________________
Sub InsertAnagrafica_1() Questa Macro funziona perfettamente, è associata al tasto ANAGRAFICA e si completa solo al termine della Macro 1
Application.ScreenUpdating = False
Sheets("MODULO AFC").Select
ControlAnagrafica_1
Sheets("MODULO AFC").Select
Range("a1:B2").Copy
Sheets("RIEPILOGO").Select
'Sheets("RIEPILOGO").Unprotect ""
Range("a1:B2").Select
ActiveSheet.Paste
Sheets("MODULO AFC").Select
Range("B7:D12").Copy
Sheets("RIEPILOGO").Select
Range("B7:D12").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("MODULO AFC").Select
[a18].Select
ActiveWindow.ScrollColumn = 1
End Sub
_____________________________________________________________________________________
Sub InsertRiga_1() Questa è la macro associata al tasto INSERISCI RIGA
Application.ScreenUpdating = False
Sheets("MODULO AFC").Select
ControlAnagrafica_1 Macro 1 - se tutte le condizioni sono rispettate
Controllocampi_1 Macro 2 - se tutte le condizioni sono rispettate
Range("H65536").Select
Selection.End(xlUp).Select
Selection.Offset(0, -7).Select
ActiveCell(2).Resize(1).EntireRow.Insert
ActiveCell(1).EntireRow.Copy ActiveCell(2).Resize(1).EntireRow
On Error Resume Next
ActiveCell(2).Resize(1).EntireRow. _
SpecialCells(xlConstants).ClearContents
Selection.Offset(0, 0).Select
Application.CutCopyMode = False
Selection.Offset(1, 0).Select
Range("H65536").Select
Selection.End(xlUp).Select
Selection.Offset(0, -7).Select
End Sub
I commenti in grassetto li ho inseriti per, spero, spiegarmi meglio.
Vi ringrazio per l'aiuto.