
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
|
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 Long, Rng As Range, firstAddress As String
Dim blnTrovato As Boolean
Dim strWorkbook As String
Dim Riga As Long, LastRow As Long
Dim ID As String, Sh1 As Worksheet
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B9:B" & Cells(Rows.Count, "B").End(xlUp).Row)) Is Nothing Then
blnTrovato = False
Const conPercorso = "C:Documents and SettingsAdministratorDesktop"
strWorkbook = ActiveWorkbook.Name
Application.ScreenUpdating = False
Application.EnableEvents = False
Workbooks.Open Filename:=conPercorso & "dbnew.xlsx", ReadOnly:=True
LastRow = Workbooks("dbnew.xlsx").Worksheets("db").Cells(Rows.Count, "B").End(xlUp).Row
Riga = Cells(Rows.Count, "D").End(xlUp).Row + 1
If Riga < 9 Then Riga = 9
Workbooks(strWorkbook).Activate
Set Sh1 = Workbooks(strWorkbook).ActiveSheet
ID = Target.Value
With Workbooks("dbnew.xlsx").Worksheets("db").Range("B2:B" & LastRow)
Set Rng = .Find(What:=ID, LookAt:=xlWhole, LookIn:=xlValues)
If Not Rng Is Nothing Then
firstAddress = Rng.Address
Do
Sh1.Range("D" & Riga).Value = Rng.Offset(0, -1).Text
Sh1.Range("I" & Riga).Value = Rng.Offset(0, 1).Text
Riga = Riga + 1
Set Rng = .FindNext(Rng)
blnTrovato = True
Loop While Not Rng Is Nothing And Rng.Address <> firstAddress
End If
End With
Workbooks("dbnew.xlsx").Close
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
Application.ScreenUpdating = True
Application.EnableEvents = True
Set Sh1 = Nothing
Set Rng = Nothing
End Sub |
Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim strRiga As String
Dim intrisposta As Integer
Dim y As Long, Rng As Range, firstAddress As String
Dim blnTrovato As Boolean
Dim strWorkbook As String
Dim Riga As Long, LastRow As Long
Dim ID As String, Sh1 As Worksheet
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B9:B" & Cells(Rows.Count, "B").End(xlUp).Row)) Or _
Not Intersect(Target, Range("C9:C" & Cells(Rows.Count, "A").End(xlUp).Row)) Is Nothing Then
blnTrovato = False
Const conPercorso = "C:UsersPc_InfovisionDesktop"
strWorkbook = ActiveWorkbook.Name
Application.ScreenUpdating = False
Application.EnableEvents = False
Workbooks.Open Filename:=conPercorso & "dbnew.xlsx", ReadOnly:=True
LastRow = Workbooks("dbnew.xlsx").Worksheets("db").Cells(Rows.Count, "B" Or "A").End(xlUp).Row
Riga = Cells(Rows.Count, "C" Or "I").End(xlUp).Row + 1
If Riga < 9 Then Riga = 9
Workbooks(strWorkbook).Activate
Set Sh1 = Workbooks(strWorkbook).ActiveSheet
ID = Target.Value
With Workbooks("dbnew.xlsx").Worksheets("db").Range("B2:B" Or "A2:A" & LastRow)
Set Rng = .Find(What:=ID, LookAt:=xlWhole, LookIn:=xlValues)
If Not Rng Is Nothing Then
firstAddress = Rng.Address
Do
Sh1.Range("C" & Riga).Value = Rng.Offset(0, -1).Text
Sh1.Range("I" & Riga).Value = Rng.Offset(0, 1).Text
Sh1.Range("G" & Riga).Value = Rng.Offset(0, 4).Text
Sh1.Range("H" & Riga).Value = Rng.Offset(0, 5).Text
Sh1.Range("F" & Riga).Value = Rng.Offset(0, 3).Text
Sh1.Range("J" & Riga).Value = Rng.Offset(0, 6).Text
Sh1.Range("O" & Riga).Value = Rng.Offset(0, 7).Text
Sh1.Range("U" & Riga).Value = Rng.Offset(0, 8).Text
Sh1.Range("X" & Riga).Value = Rng.Offset(0, 13).Text
Riga = Riga + 1
Set Rng = .FindNext(Rng)
blnTrovato = True
Loop While Not Rng Is Nothing And Rng.Address <> firstAddress
End If
End With
Workbooks("dbnew.xlsx").Close
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
Application.ScreenUpdating = True
Application.EnableEvents = True
Set Sh1 = Nothing
Set Rng = Nothing
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 Long, Rng As Range, firstAddress As String
Dim blnTrovato As Boolean
Dim strWorkbook As String
Dim Riga As Long, LastRow As Long, Col As Long
Dim ID As String, Sh1 As Worksheet, RangeMaster As Range, RangeSingolo As Range
Set RangeMaster = Range("B9:B" & Cells(Rows.Count, "B").End(xlUp).Row)
Set RangeSingolo = Range("D9:D" & Cells(Rows.Count, "D").End(xlUp).Row)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, RangeMaster) Is Nothing Or Not Intersect(Target, RangeSingolo) Is Nothing Then
Col = Target.Column
If Col = 2 Then ColS = "B": If Col = 4 Then ColS = "A"
Const conPercorso = "C:Documents and SettingsAdministratorDesktop"
strWorkbook = ActiveWorkbook.Name
Application.ScreenUpdating = False
Application.EnableEvents = False
Workbooks.Open Filename:=conPercorso & "dbnew.xlsx", ReadOnly:=True
LastRow = Workbooks("dbnew.xlsx").Worksheets("db").Cells(Rows.Count, Col).End(xlUp).Row
Riga = Cells(Rows.Count, "D").End(xlUp).Row + 1
If Riga < 9 Then Riga = 9
Workbooks(strWorkbook).Activate
Set Sh1 = Workbooks(strWorkbook).ActiveSheet
ID = Target.Value
With Workbooks("dbnew.xlsx").Worksheets("db").Range(ColS & "2:" & ColS & LastRow)
Set Rng = .Find(What:=ID, LookAt:=xlWhole, LookIn:=xlValues)
If Not Rng Is Nothing Then
If ColS = "B" Then
firstAddress = Rng.Address
Do
Sh1.Range("D" & Riga).Value = Rng.Offset(0, -1)
Sh1.Range("I" & Riga).Value = Rng.Offset(0, 1)
Riga = Riga + 1
Set Rng = .FindNext(Rng)
blnTrovato = True
Loop While Not Rng Is Nothing And Rng.Address <> firstAddress
Else
Sh1.Range("I" & Riga - 1).Value = Rng.Offset(0, 2)
blnTrovato = True
End If
End If
End With
Workbooks("dbnew.xlsx").Close
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
Application.ScreenUpdating = True
Application.EnableEvents = True
Set Sh1 = Nothing
Set Rng = Nothing
Set RangeMaster = Nothing
Set RangeSingolo = Nothing
End Sub
|
