
Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim strCellaModificata As String
Dim strColonna As String
Dim strRiga As String
Dim intrisposta As Integer
Dim y As Integer
Dim blnTrovato As Boolean
Dim strWorkbook As String
blnTrovato = False
Const conPercorso = "C:UsersPc_InfovisionDesktopvba"
'quando si verifica un cambiamento(change) chiedo ad excel di memorizzare in target.adress il range modificato
'nella variabile strcellamodificata
strCellaModificata = Target.Address
strWorkbook = ActiveWorkbook.Name
'verifico se è stata modificata una sola cella per volta oppure un intervallo di celle
If Range(strCellaModificata).Count > 1 Then
Exit Sub
End If
'nella variabile strcolonna memorizzo il valore della proprietà colum ossia la posizione della colonna
strColonna = Range(strCellaModificata).Column
strRiga = Range(strCellaModificata).Row
'se vi è una modifica nella colonna d dalla riga 7 apro il percorso al database in sola lettura
If strColonna = 2 And strRiga >= 9 Then
Workbooks.Open Filename:=conPercorso & "dbnew.xlsx", ReadOnly:=True
'ora attivo con il metodo activate il modulo promo
Workbooks(strWorkbook).Activate
y = 1
Do Until blnTrovato = True Or y = 43000
If UCase(Range(strCellaModificata)) = UCase(Workbooks("dbnew.xlsx").Worksheets("db").Range("A" & y)) Then
Range(strCellaModificata).Offset(0, 7) = Workbooks("dbnew.xlsx").Worksheets("db").Range("B" & y)
Range(strCellaModificata).Offset(0, 4) = Workbooks("dbnew.xlsx").Worksheets("db").Range("d" & y)
Range(strCellaModificata).Offset(0, 1) = Workbooks("dbnew.xlsx").Worksheets("db").Range("e" & y)
Range(strCellaModificata).Offset(0, 5) = Workbooks("dbnew.xlsx").Worksheets("db").Range("f" & y)
Range(strCellaModificata).Offset(0, 6) = Workbooks("dbnew.xlsx").Worksheets("db").Range("g" & y)
Range(strCellaModificata).Offset(0, 8) = Workbooks("dbnew.xlsx").Worksheets("db").Range("h" & y)
Range(strCellaModificata).Offset(0, 8).Select
Selection.NumberFormat = "$* #,##0.00"
Range(strCellaModificata).Offset(0, 13) = Workbooks("dbnew.xlsx").Worksheets("db").Range("i" & y)
Range(strCellaModificata).Offset(0, 13).Select
Selection.NumberFormat = "$* #,##0.00"
Range(strCellaModificata).Offset(0, 19) = Workbooks("dbnew.xlsx").Worksheets("db").Range("j" & y)
Range(strCellaModificata).Offset(0, 19).Select
Selection.NumberFormat = "$* #,##0.00"
Range(strCellaModificata).Offset(0, 22) = Workbooks("dbnew.xlsx").Worksheets("db").Range("o" & y)
Range(strCellaModificata).Offset(0, 23) = Workbooks("dbnew.xlsx").Worksheets("db2").Range("p" & y)
Range(strCellaModificata).Offset(0, 24) = Workbooks("dbnew.xlsx").Worksheets("db2").Range("q" & y)
Range(strCellaModificata).Offset(1, 0).Select
ActiveWindow.ScrollColumn = 3
blnTrovato = True
End If
y = y + 1
Loop
If blnTrovato = False Then
intrisposta = MsgBox("Il prodotto inserito non è presente nell'archivio, " _
& "vuoi aprire il file dbnew per aggiungerlo?", vbYesNo)
If intrisposta = vbYes Then
frmPassword.Show
End If
End If
End If
End Sub
|
Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim strCellaModificata As String
Dim strColonna As String
Dim strRiga As String
Dim intrisposta As Integer
Dim y As Integer
Dim blnTrovato As Boolean
Dim strWorkbook As String
blnTrovato = False
Const conPercorso = "C:UsersPc_InfovisionDesktopvba"
'quando si verifica un cambiamento(change) chiedo ad excel di memorizzare in target.adress il range modificato
'nella variabile strcellamodificata
strCellaModificata = Target.Address
strWorkbook = ActiveWorkbook.Name
'verifico se è stata modificata una sola cella per volta oppure un intervallo di celle
If Range(strCellaModificata).Count > 1 Then
Exit Sub
End If
'nella variabile strcolonna memorizzo il valore della proprietà colum ossia la posizione della colonna
strColonna = Range(strCellaModificata).Column
strRiga = Range(strCellaModificata).Row
'se vi è una modifica nella colonna d dalla riga 7 apro il percorso al database in sola lettura
If strColonna = 2 And strRiga >= 9 Then
Workbooks.Open Filename:=conPercorso & "dbnew.xlsx", ReadOnly:=True
'ora attivo con il metodo activate il modulo promo
Workbooks(strWorkbook).Activate
y = 1
Do Until blnTrovato = True Or y = 43000
If UCase(Range(strCellaModificata)) = UCase(Workbooks("dbnew.xlsx").Worksheets("db").Range("A" & y)) Then
Range(strCellaModificata).Offset(0, 7) = Workbooks("dbnew.xlsx").Worksheets("db").Range("B" & y)
Range(strCellaModificata).Offset(0, 4) = Workbooks("dbnew.xlsx").Worksheets("db").Range("d" & y)
Range(strCellaModificata).Offset(0, 1) = Workbooks("dbnew.xlsx").Worksheets("db").Range("e" & y)
Range(strCellaModificata).Offset(0, 5) = Workbooks("dbnew.xlsx").Worksheets("db").Range("f" & y)
Range(strCellaModificata).Offset(0, 6) = Workbooks("dbnew.xlsx").Worksheets("db").Range("g" & y)
Range(strCellaModificata).Offset(0, 8) = Workbooks("dbnew.xlsx").Worksheets("db").Range("h" & y)
Range(strCellaModificata).Offset(0, 8).Select
Selection.NumberFormat = "$* #,##0.00"
Range(strCellaModificata).Offset(0, 13) = Workbooks("dbnew.xlsx").Worksheets("db").Range("i" & y)
Range(strCellaModificata).Offset(0, 13).Select
Selection.NumberFormat = "$* #,##0.00"
Range(strCellaModificata).Offset(0, 19) = Workbooks("dbnew.xlsx").Worksheets("db").Range("j" & y)
Range(strCellaModificata).Offset(0, 19).Select
Selection.NumberFormat = "$* #,##0.00"
Range(strCellaModificata).Offset(0, 22) = Workbooks("dbnew.xlsx").Worksheets("db").Range("o" & y)
Range(strCellaModificata).Offset(0, 23) = Workbooks("dbnew.xlsx").Worksheets("db2").Range("p" & y)
Range(strCellaModificata).Offset(0, 24) = Workbooks("dbnew.xlsx").Worksheets("db2").Range("q" & y)
Range(strCellaModificata).Offset(1, 0).Select
ActiveWindow.ScrollColumn = 3
blnTrovato = True
End If
y = y + 1
Loop
If blnTrovato = False Then
intrisposta = MsgBox("Il prodotto inserito non è presente nell'archivio, " _
& "vuoi aprire il file dbnew per aggiungerlo?", vbYesNo)
If intrisposta = vbYes Then
frmPassword.Show
End If
End If
End If
End Sub
|
