title: Need a script to transfer data from one excel sheet to another
body: <p>I have a user who works with Excel sheets daily. She spends a lot of time transferring data from one sheet to another and has requested that I find a script/macro/formula that could automate some of the process. I have searched around and found some scripts that look like they will do close to what we need but I am not an expert on Excel VBA scripts so I am unsure how to modify it to accomplish what we need. </p>
  
  <p>I have 2 large Excel sheets, one is filled with S/N's and details and the other is filled with dates, names and time periods. What I need the script to accomplish is to run against both sheets and when it finds a matching cell from sheet 1's column A and sheet 2's column A, it will take all the data from sheet 2's matching row and append it to the end of the matching row on sheet 1.</p>
  
  <p>Here is an example of what I am trying to accomplish:</p>
  
  <pre><code>SN112233 Apple
  SN112244 Orange            SHEET 1
  SN112255 Grape
  
  
  SN112211 01/01/14 Mike 5Days
  SN112222 02/02/14 Tim 2Days          SHEET 2
  SN112233 05/03/14 Rick 8Days
  SN112244 24/03/14 Tim 1Day
  SN112255 11/04/14 Daryl 12Days
  </code></pre>
  
  <p>After the script has ran the data would then end up looking like this on sheet 1</p>
  
  <pre><code>SN112233  Apple  05/03/14  Rick  8 Days
  SN112244  Orange 24/03/14  Tim   1 Day         SHEET 1
  SN112255  Grape  11/04/14  Daryl 12 Days
  </code></pre>
  
  <p>Here is one of the scripts that I found that looks like it is on the right track for what I need accomplished but I am unsure how to modify it to complete everything that I need done:</p>
  
  <pre><code>Sub MatchAndCopy()
  
      Dim sheet01 As Worksheet, sheet02 As Worksheet
      Dim c As Range, matchingCell As Long
      Dim RangeInSheet1 As Range
      Dim RangeInSheet2 As Range
      Dim dict As Object, tmp
      Set dict = CreateObject("scripting.dictionary")
  
      Application.ScreenUpdating = False
      Application.DisplayStatusBar = True
  
      Set sheet01 = Worksheets("Sheet1")
      Set sheet02 = Worksheets("Sheet2")
  
      Set RangeInSheet1 = sheet01.Range(sheet01.Range("A2"), _
                sheet01.Cells(Rows.count, 1).End(xlUp))
      Set RangeInSheet2 = sheet02.Range(sheet02.Range("A2"), _
                sheet02.Cells(Rows.count, 1).End(xlUp))
  
      'populate dictionary...
      For Each c In RangeInSheet1.Cells
          tmp = c.Value
          If Not dict.exists(tmp) Then
              dict.Add tmp, c.Row
          End If
      Next c
  
      For Each c In RangeInSheet2.Cells
        tmp = c.Value
        If dict.exists(tmp) Then
          Application.StatusBar = "Please wait while data is being copied," &amp; _
                                  " Processing count : " &amp; c.Row
          sheet01.Cells(dict(tmp), "F").Resize(1, 5).Value = _
                  c.Offset(0, 1).Resize(1, 5).Value
        End If
      Next c
  
      Application.StatusBar = False
      Application.ScreenUpdating = True
  
  End Sub
  </code></pre>
  
  <p>Any assistance with this would be greatly appreciated!</p>