With Sheets("last four")
lr4 = Cells(Rows.count, 1)(Columns.count, 1).End(xlUp).Row
Rows(lr4 - 3 & ":" & lr4).Select
End With
Selection.Copy
Range("A9").Select
Selection.PasteSpecial Paste:=xlValues, operation:=xlNone, _
skipblanks:=False, Transpose:=False
With Sheets("last four")
lr4 = Cells(Rows.Count, 2).End(xlUp).Row
lc4 = Sheets("lastfour").UsedRange.Columns.Count + 1
.Range(.Cells(lr4-3, 2), .Cells(lr4, lc4)).Copy
.Range("B9").PasteSpecial Paste:=xlValues, operation:=xlNone, _
skipblanks:=False, Transpose:=False
End With
ie:
2 tests run
row
A9 test #1 date run 1/1
A10 Test #2 date run 1/2
A11
A12
ie:
4 tests run
row
A9 test #1 date run 1/1
A10 Test #2 date run 1/2
A11 Test #3 date run 1/3
A12 Test #4 date run 1/4
Bear in mind that if you only rearrange data in one column, it will no
longer correspond to other data in the original row. That is if you move
data from Cell A9 to Cell A12 and everything else remains the same, any dates
that are now in Cell A12 that applied to Cells B9 through IV9 are
disconnected.
So, if you want to rearrange the entire row, then say it like that...entire
row. If you want to only move the cell the say either Cell A9 or Range("A9")
so we are talking the same language.
Think it over and repost with what you are trying to do. I'll check back in
a while.
This is where the last four tests would be found
A B C D
71 4075 5 10.5 1/1/2008
72 4065 5 10.5 1/1/2008
73 4075 8 11.8 2/1/2008
74 4075 7 11.8 3/1/2008
75 4065 3 11.8 3/1/2008
76 4075 9 11.8 3/1/2008
77
78
79 and so on down the page
Example for two (2) tests:
A B C D
9 4065 5 10.5 1/1/2008 ~~~> Test one (1) of last four
10 4065 3 11.8 3/1/2008 ~~~> Test two (2) of last four
11 No others
found in data base
12
Example for four (4) tests:
A B C D
9 4075 5 10.5 1/1/2008 ~~~> test one (1) of last four
10 4075 8 11.8 2/1/2008 ~~~> Test two of last four
11 4075 7 11.8 3/1/2008
12 4075 9 11.8 3/1/2008
My no dupes macro looks at column "A" of the main database.
I truely hope this helps me explain things better. If not please give me
another shot.
Thank you again....
Eric
Sub revs4()
With Worksheets(1)
lr4 = .Cells(Rows.Count, 2).End(xlUp).Row
lc4 = .UsedRange.Columns.Count + 1
Set a = .Range(.Cells(lr4, 2), .Cells(lr4, lc4))
Set b = .Range(.Cells(lr4 - 1, 2), .Cells(lr4 - 1, lc4))
Set c = .Range(.Cells(lr4 - 2, 2), .Cells(lr4 - 2, lc4))
Set d = .Range(.Cells(lr4 - 3, 2), .Cells(lr4 - 3, lc4))
arr4 = Array(a, b, c, d)
For i = 0 To 3
arr4(i).Copy
.Range("A" & i + 9).PasteSpecial Paste:=xlPasteValues
Next
End With
Application.CutCopyMode = False
End Sub
This will replace the previously provided code.
Sub revs4()
With Worksheets(1)
lr4 = .Cells(Rows.Count, 2).End(xlUp).Row
lc4 = .UsedRange.Columns.Count + 1
Set a = .Range(.Cells(lr4, 2), .Cells(lr4, lc4))
Set b = .Range(.Cells(lr4 - 1, 2), .Cells(lr4 - 1, lc4))
Set c = .Range(.Cells(lr4 - 2, 2), .Cells(lr4 - 2, lc4))
Set d = .Range(.Cells(lr4 - 3, 2), .Cells(lr4 - 3, lc4))
arr4 = Array(a, b, c, d)
For i = 0 To 3
arr4(i).Copy
.Range("B" & i + 9).PasteSpecial Paste:=xlPasteValues
Next
End With
Application.CutCopyMode = False
End Sub