Results 1 to 6 of 6

Comparing and Copying Values Between Dates

Threaded View

  1. #5
    Forum Guru
    Join Date
    08-26-2007
    Location
    London
    Posts
    4,606

    Re: Comparing and Copying Values Between Dates

    Ok, not the most efficient code but try this. I don't get exactly the same results as your sample. I get 1.4672 in T6 and 1.5011 in R13. Please check whether the error is in your example or the macro.
    Sub x()
    
    Dim rCell As Range, rng As Range, r1 As Range
    
    Set r1 = Range("A4")
    For Each rCell In Range("K4", Range("K4").End(xlDown))
        Do Until r1 >= rCell
            Set r1 = r1.Offset(1)
        Loop
        Set rng = r1
        Do While rng <= rCell.Offset(1)
            ' Q
            If Abs(rng.Offset(, 1) - rCell.Offset(, 2)) <= 0.001 Then rng.Offset(, 16) = rng.Offset(, 1)
            If Abs(rng.Offset(, 2) - rCell.Offset(, 2)) <= 0.001 Then rng.Offset(, 16) = rng.Offset(, 2)
            If Abs(rng.Offset(, 3) - rCell.Offset(, 2)) <= 0.001 Then rng.Offset(, 16) = rng.Offset(, 3)
            ' R
            If Abs(rng.Offset(, 1) - rCell.Offset(, 1)) <= 0.001 Then rng.Offset(, 17) = rng.Offset(, 1)
            If Abs(rng.Offset(, 2) - rCell.Offset(, 1)) <= 0.001 Then rng.Offset(, 17) = rng.Offset(, 2)
            If Abs(rng.Offset(, 3) - rCell.Offset(, 1)) <= 0.001 Then rng.Offset(, 17) = rng.Offset(, 3)
            If Abs(rng.Offset(, 4) - rCell.Offset(, 1)) <= 0.001 Then rng.Offset(, 17) = rng.Offset(, 4)
            ' S
            If Abs(rng.Offset(, 6) - rCell.Offset(, 3)) <= 0.001 Then rng.Offset(, 18) = rng.Offset(, 6)
            If Abs(rng.Offset(, 7) - rCell.Offset(, 3)) <= 0.001 Then rng.Offset(, 18) = rng.Offset(, 7)
            If Abs(rng.Offset(, 8) - rCell.Offset(, 3)) <= 0.001 Then rng.Offset(, 18) = rng.Offset(, 8)
            ' T
            If Abs(rng.Offset(, 5) - rCell.Offset(, 4)) <= 0.001 Then rng.Offset(, 19) = rng.Offset(, 5)
            If Abs(rng.Offset(, 6) - rCell.Offset(, 4)) <= 0.001 Then rng.Offset(, 19) = rng.Offset(, 6)
            If Abs(rng.Offset(, 7) - rCell.Offset(, 4)) <= 0.001 Then rng.Offset(, 19) = rng.Offset(, 7)
            If Abs(rng.Offset(, 8) - rCell.Offset(, 4)) <= 0.001 Then rng.Offset(, 19) = rng.Offset(, 8)
                    
            Set rng = rng.Offset(1)
        Loop
        Set r1 = rng
    Next rCell
    
    End Sub
    Last edited by StephenR; 02-19-2010 at 05:47 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1