title: Copy and paste Excel sheets
body: <pre><code>Private Sub CommandButton1_Click()
  Dim ws As Worksheet
      With Application.FileDialog(msoFileDialogFilePicker)
         .Show
         If .SelectedItems.Count &lt;&gt; 0 Then
         fldr = .SelectedItems(1)
         End If
      End With
      Sheets.link.Value = fldr
      For i = 1 To Worksheets.Count
          Set ws = Worksheets(i)
          If ws.Cells(2, 1) = "X" Then
              Sheets.ComboBox1.AddItem (ws.Name)
          End If
      Next i
      Workbooks.Open (fldr)
      Sheets.Show
  End Sub
  
  Private Sub Add_Click()
  
  Dim x As String
  Dim ws As Workbook
  
  x = Right(link.Value, (Len(link.Value) - InStrRev(link.Value, "ild") - 3))
  
  Workbooks("Test.xlsm").Activate
  
  Worksheets(ComboBox1.Value).Copy Before:=Workbooks(x).Worksheets("Contract")
  
  End Sub
  </code></pre>
  
  <p>So the basic idea is, you click a button on an Excel sheet. The user then finds the file they want to copy the sheets to. It will find all of a specific type of sheet, put it in a forms combobox and open the selected Excel file.
  Then you choose a sheet from the combobox and copy it from one workbook to the other. It all works until the copying part. I get a long error:</p>
  
  <blockquote>
    <p>Excel cannot insert the sheets into the destination workbook, because it contains fewer rows and columns that the source workbook. To move or copy the data to the destination workbook, you can select the data and then use Copy and Paste commands to insert it into the sheets of another workbook.</p>
  </blockquote>