I have two sheets named DonationReport & IndividualDonationReport. What I want is the information on columns 1,2,4,5,6,7,8,9,10,11,12,13,14,15 of DonationReport to be copied to columns 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 of IndividualDonationReport when I enter a value to the cell C8 of IndividualDonation Report.
The information should be entered to IndividividualDonationReport Starting from row 13.
Suppose I enter the ID value to the cell C8, I want all the rows and columns that contains information with the value C8 to be copied to the columns and rows of IndividualDonationReport.
I have applied the following code to IndividualDonationReport. But it does not seem to work properly.
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim r As Long
Dim m As Long
Dim n As Long
Dim wsh As Worksheet
Dim lngSerial As Long
If Not Intersect(Range("C8"), Target) Is Nothing Then
Application.EnableEvents = False
Range("A13:A1048576").ClearContents
Range("B13:B1048576").ClearContents
Range("C13:C1048576").ClearContents
Range("D13:D1048576").ClearContents
Range("E13:E1048576").ClearContents
Range("F13:F1048576").ClearContents
Range("G13:G1048576").ClearContents
Range("H13:H1048576").ClearContents
Range("I13:I1048576").ClearContents
Range("J13:J1048576").ClearContents
Range("K13:K1048576").ClearContents
Range("L13:L1048576").ClearContents
Range("M13:M1048576").ClearContents
Range("N13:N1048576").ClearContents
Range("O13:O1048576").ClearContents
lngSerial = Range("C8")
n = 15
Set wsh = Worksheets("DonationReport")
m = wsh.Range("A" & wsh.Rows.Count).End(xlUp).Row
For r = 13 To m
If wsh.Range("C" & r) = lngSerial Then
n = n + 1
Range("A" & n) = wsh.Range("C" & r)
Range("I" & n) = wsh.Range("G" & r)
Range("A" & n) = wsh.Range("A" & r)
Range("B" & n) = wsh.Range("B" & r)
Range("C" & n) = wsh.Range("D" & r)
Range("D" & n) = wsh.Range("E" & r)
Range("E" & n) = wsh.Range("F" & r)
Range("F" & n) = wsh.Range("G" & r)
Range("G" & n) = wsh.Range("H" & r)
Range("H" & n) = wsh.Range("I" & r)
Range("I" & n) = wsh.Range("J" & r)
Range("J" & n) = wsh.Range("K" & r)
Range("K" & n) = wsh.Range("L" & r)
Range("L" & n) = wsh.Range("M" & r)
Range("M" & n) = wsh.Range("N" & r)
Range("N" & n) = wsh.Range("O" & r)
Range("O" & n) = wsh.Range("P" & r)
End If
Next r
End If
Application.ScreenUpdating = True
End Sub
Thanks in advance
Regards
Adam