,E quantità , F descrizione prodotto .
Ad esso è collegata una macro che , una volta compilati i campi traferisce i dati su un'altro foglio.
all'interno della macro ho inserito dei messagi di avviso (msgbox) , che bloccano la macro se alcune condizioni non vengono rispettate.
tra queste c'è:
- Codice: Seleziona tutto
If Range("e11") = "" Then
MsgBox ("Completa il campo : QTA "), 0 + 48, Title:="Errore": Exit Sub
End If
funziona perfettamente , ma questa condizione vale solo per la cella e11 . come si può implementare la macro per le celle succesive a e11 ,
cioè quando sono presenti valori neille celle successive a d11 ?
- Codice: Seleziona tutto
Sub trasferisci()
If IsNumeric(Range("b11").Value) And _
Range("b11").Value <> "" Then
MsgBox ("Codice Operatore errato"), 0 + 48, Title:="Errore"
: Exit Sub
End If
If Range("b11") = "" Then
MsgBox ("Completa il campo : Operatore "), 0 + 48, Title:="Errore": Exit Sub
End If
If Range("e11") = "" Then
MsgBox ("Completa il campo : QTA "), 0 + 48, Title:="Errore": Exit Sub
End If
With Worksheets("PERSONALE").Range("A2:A100")
Dim X As String
X = Range("B11").Value
Set c = .Find(X, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
Else
MsgBox ("Codice Operatore Errato"), 0 + 48, Title:="Errore": Exit Sub
End If
End With
Application.Run "aaa1.xls!elimina_vuote"
Application.ScreenUpdating = False
ChDir "D:\Documents and Settings\s003327\Desktop\"
Workbooks.Open Filename:= _
"D:\Documents and Settings\s003327\Desktop\aaa.xls"
Windows("aaa1.xls").Activate
Range("I2").Select
DataRiga = Range("I2").Value
Rigacontrollo = 11
Controllo = Trim(Range("B" & Rigacontrollo).Value)
Do While Len(Controllo) > 0
CID = Range("B" & Rigacontrollo).Value
CODICE = Range("D" & Rigacontrollo).Value
QTA = Range("E" & Rigacontrollo).Value
Windows("aaa.xls").Activate
RigacontrolloArrivo = 7
ControlloArrivo = Trim(Range("C" & RigacontrolloArrivo).Value)
Do While ControlloArrivo <> ""
ControlloArrivo = Trim(Range("C" & RigacontrolloArrivo).Value)
RigacontrolloArrivo = RigacontrolloArrivo + 1
Loop
If RigacontrolloArrivo > 7 Then RigacontrolloArrivo = RigacontrolloArrivo - 1
Range("C" & RigacontrolloArrivo).Value = CID
Range("D" & RigacontrolloArrivo).Value = DataRiga
Range("F" & RigacontrolloArrivo).Value = CODICE
Range("G" & RigacontrolloArrivo).Value = QTA
Windows("aaa1.xls").Activate
Rigacontrollo = Rigacontrollo + 1
Controllo = Trim(Range("B" & Rigacontrollo).Value)
Loop
Windows("aaa.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
Windows("aaa1.xls").Activate
Application.Run "aaa1.xls!azzerafoglio"
Range("B11").Select
MsgBox ("Operazione Completata !"), 0 + 64, Title:="Complimenti !"
End Sub