
Sub prova()
'Private Sub Worksheet_Change(ByVal Target As Range)
'If (Target.Row = 2) And (Target.Column = 4) Then 'evidenziando la colonna 4 col cursore la legge come colonna 7
Dim nriga As Long
Range("e1").Activate
If Range("e2").Value <> "" Then
Selection.End(xlDown).Activate
End If
nriga = ActiveCell.Row
If Range("c2").Value <> (Range("F" & nriga).Value) Then
Range("b2:d2").Select
Selection.Copy
Cells(nriga + 1, 5).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("G" & nriga + 1).Value = CLng(Range("G" & nriga + 1).Value) 'converte il valore copiato da stringa
Range("h" & nriga + 1).Value = Range("f" & nriga + 1).Value * Range("g" & nriga + 1).Value
Else
Range("G" & nriga).Value = CLng(Range("G" & nriga).Value) + CLng(Range("D2").Value)
Range("h" & nriga).Value = Range("f" & nriga).Value * Range("g" & nriga).Value
End If
'End If
End Sub
|
Private Sub Worksheet_Change(ByVal Target As Range)
Dim crc As Range ''variabile di memoria = cella riga colonna
Dim nriga As Long
Set crc = Intersect(Range("D2"), Target) ''setta la cella di cambio row2 col4
If Not crc Is Nothing Then ''se fai cambio alla D2 esegue la macro sottostante
Range("e1").Activate
If Range("e2").Value <> "" Then
Selection.End(xlDown).Activate
End If
nriga = ActiveCell.Row
If Range("c2").Value <> (Range("F" & nriga).Value) Then
Range("b2:d2").Select
Selection.Copy
Cells(nriga + 1, 5).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("G" & nriga + 1).Value = CLng(Range("G" & nriga + 1).Value) 'converte il valore copiato da stringa
Range("h" & nriga + 1).Value = Range("f" & nriga + 1).Value * Range("g" & nriga + 1).Value
Else
Range("G" & nriga).Value = CLng(Range("G" & nriga).Value) + CLng(Range("D2").Value)
Range("h" & nriga).Value = Range("f" & nriga).Value * Range("g" & nriga).Value
End If
End If
End Sub |
