Results 1 to 6 of 6

Thread: VBA problem

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #2
    VBAX Sage
    Joined
    Apr 2007
    Location
    United States
    Posts
    8,887
    Location
    I'd do something like this


    Option Explicit
    
    
    Sub find_and_copy()
        Dim rFrom As Range, rTo As Range, r As Range
        Dim wsFrom As Worksheet, wsTo As Worksheet
        Dim n As Long
    
    
        Set wsFrom = Worksheets("From")
        Set wsTo = Worksheets("To")
    
    
        Set rFrom = wsFrom.Cells(1, 1).CurrentRegion
        Set rFrom = rFrom.Cells(2, 1).Resize(rFrom.Rows.Count - 1, rFrom.Columns.Count)
    
    
        Set rTo = wsTo.Cells(1, 1).CurrentRegion
    
    
        For Each r In rFrom.Columns(1).Cells
            
            n = 0
            On Error Resume Next
            n = Application.WorksheetFunction.Match(r.Value, rTo.Columns(1), 0)
            On Error GoTo 0
            
            If n > 0 Then
                If Application.WorksheetFunction.CountA(rTo.Rows(n)) > 1 Then
                    MsgBox r.Value & " in row " & n & " already has data"
                    
                Else
                    r.EntireRow.Copy wsTo.Cells(n, 1)
                End If
            End If
        Next
        
        Application.ScreenUpdating = True
        MsgBox "Finito"
            
    End Sub
    Attached Files Attached Files
    ---------------------------------------------------------------------------------------------------------------------

    Paul


    Remember: Tell us WHAT you want to do, not HOW you think you want to do it

    1. Use [CODE] ....[/CODE ] Tags for readability
    [CODE]PasteYourCodeHere[/CODE ] -- (or paste your code, select it, click [#] button)
    2. Upload an example
    Go Advanced / Attachments - Manage Attachments / Add Files / Select Files / Select the file(s) / Upload Files / Done
    3. Mark the thread as [Solved] when you have an answer
    Thread Tools (on the top right corner, above the first message)
    4. Read the Forum FAQ, especially the part about cross-posting in other forums
    http://www.vbaexpress.com/forum/faq...._new_faq_item3

Tags for this Thread

Posting Permissions

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