Sub Stampa_Interno_Da_Riga_a_Riga()
Dim VariabileInput1 As Integer
Dim VariabileInput2 As Integer
Dim UltimaRiga As Integer
Dim a As Integer
Dim b As Integer
UltimaRiga = Sheets("CARICO").Range("A65000").End(xlUp).Row 'ULTIMA RIGA NEL FOGLIO CARICO
VariabileInput1 = InputBox("Stampare Interno dalla riga numero:") 'RICHIEDO PRIMA RIGA DA STAMPARE
StampaEsterno = MsgBox("Vuoi stampare fino all'ultima riga?", vbYesNo) 'RICHIESTA SE VUOI STAMPARE FINO ALLA FINE
If StampaEsterno = vbYes Then 'SE SI
VariabileInput2 = UltimaRiga 'IMPOSTO LA VARIABILE COME ULTIMA RIGA
Else 'SE NO
VariabileInput2 = InputBox("Stampare Interno fino alla riga numero:") 'RICHIEDO ULTIMA RIGA DA STAMPARE
End If 'FINE SE SI/NO
Sheets("Stampa_Interno").Select
If VariabileInput1 = Empty Then 'CONTROLLO SE IL PRIMO VALORE IMMESSO E VUOTO
MsgBox "Valore Input Vuoto, non posso proseguire"
Exit Sub 'SE VUOTO ESCO
End If 'FINE CONTROLLO SE PRIMO VALORE VUOTO
If VariabileInput2 = Empty Then 'CONTROLLO SE IL SECONDO VALORE IMMESSO E VUOTO
MsgBox "Valore Input Vuoto, non posso proseguire"
Exit Sub 'SE VUOTO ESCO
End If 'FINE CONTROLLO SE SECONDO VALORE VUOTO
If Not IsNumeric(VariabileInput1) Then 'CONTROLLO SE PRIMO VALORE IMMESSO E UN NUMERO
MsgBox "Devi Inserire solo numeri, non posso proseguire"
Exit Sub 'SE NON NUMERO ESCO
End If 'FINE CONTROLLO SE PRIMO VALORE IMMESSO E UN NUMERO
If Not IsNumeric(VariabileInput2) Then 'CONTROLLO SE SECONDO VALORE IMMESSO E UN NUMERO
MsgBox "Devi Inserire solo numeri, non posso proseguire"
Exit Sub 'SE NON NUMERO ESCO
End If 'FINE CONTROLLO SE SECONDO VALORE IMMESSO E UN NUMERO
If VaribileInput1 > UltimaRiga Then 'CONTROLLO SE PRIMO VALORE IMMESSO E MAGGIORE DELL ULTIMA RIGA
MsgBox "La riga inserita è maggiore del file analizzato, non posso proseguire"
Exit Sub 'SE E MAGGIORE ESCO
End If 'FINE CONTROLLO SE PRIMO VALORE IMMESSO E MAGGIORE DELL ULTIMA RIGA
If VaribileInput2 > UltimaRiga Then 'CONTROLLO SE SECONDO VALORE IMMESSO E MAGGIORE DELL ULTIMA RIGA
MsgBox "La riga inserita è maggiore del file analizzato, non posso proseguire"
Exit Sub 'SE E MAGGIORE ESCO
End If 'FINE CONTROLLO SE SECONDO VALORE IMMESSO E MAGGIORE DELL ULTIMA RIGA
If VariabileInput1 > VariabileInput2 Then 'CONTROLLO SE PRIMO VALORE E MAGGIORE DEL SECONDO
MsgBox "La prima riga non può essere maggiore della seconda, non posso proseguire"
Exit Sub 'SE E MAGGIORE ESCO
End If 'ALTRIMENTI
a = -29 'IMPOSTO RIFERIMENTI SU FOGLIO STAMPA_INTERNO RISPETTO A FOGLIO CARICO (RIGA SOTTO)
b = 0 'IMPOSTO RIFERIMENTI SU FOGLIO STAMPA_INTERNO RISPETTO A FOGLIO CARICO (RIGA SOPRA)
StampaInterno = MsgBox("Vuoi stampare Interno dalla riga " & VariabileInput1 & " fino alla riga " & VariabileInput2 & "?", vbYesNo) 'RICHIESTA SE VUOI STAMPARE
If StampaInterno = vbYes Then 'SE SI
If VariabileInput2 Mod 2 = 0 Then 'SE INPUT2 NUMERO PARI
b = VariabileInput2 - 2
If VariabileInput1 Mod 2 = 0 Then 'SE INPUT1 NUMERO PARI
Do While b > VariabileInput1
Range("F2:W2").Select
ActiveCell.FormulaR1C1 = "='CARICO'!R[" & b & "]C[-5]"
Range("F32:W32").Select
ActiveCell.FormulaR1C1 = "='CARICO'!R[" & a & "]C[-5]"
a = a - 2
b = b - 2
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Loop
End If
End If
End If
Sheets("Funzioni").Select
End Sub |