title: Copying a worksheet messes up Data Validations
body: <p>When I am trying to import data from one workbook to another one with the same data needs, the old workbook takes the same references with it. It messes up the data validation in the workbook that I copied to making it = 'OldWorkbookSpecificSheet'!$p$2:$p$3. Is there anything I can do to fix this, or do I just have to created the data validations again every time I want to change something. Any help would be greatly appreciated.</p>
  
  <pre class="lang-vb prettyprint-override"><code>Sub CopyWorkbook(WB As String)
  
      Dim i As Integer
      Dim OtherWBVersion As String
  
      If (OtherWBVersion &gt; "0510") Then
        With ThisWorkbook
           For i = 0 To 19
             .ImportRange WB, Me.Name, "F" &amp; (4 + i * 25) &amp; ":F" &amp; (15 + i * 25)
             .ImportRange WB, Me.Name, "G" &amp; (4 + i * 25) &amp; ":S" &amp; (15 + i * 25)
             .ImportRange WB, Me.Name, "E" &amp; (18 + i * 25) &amp; ":G" &amp; (24 + i * 25)
             .ImportRange WB, Me.Name, "H" &amp; (18 + i * 25) &amp; ":H" &amp; (24 + i * 25)
             .ImportRange WB, Me.Name, "J" &amp; (18 + i * 25) &amp; ":K" &amp; (24 + i * 25)
             .ImportRange WB, Me.Name, "L" &amp; (18 + i * 25) &amp; ":L" &amp; (24 + i * 25)
  
             .ImportRange WB, Me.Name, "N" &amp; (20 + i * 25)
             .ImportRange WB, Me.Name, "Q" &amp; (20 + i * 25)
             .ImportRange WB, Me.Name, "Q" &amp; (22 + i * 25)
             .ImportRange WB, Me.Name, "P" &amp; (22 + i * 25)
              .ImportRange WB, Me.Name, "N" &amp; (22 + i * 25)
           Next i
        End With
       End If
  End Sub
  
  
  
  
  
  
      Sub ImportRange(WB As String, WS As String, RngTo As String, Optional   RngFrom As String)
      If RngFrom = "" Then
          RngFrom = RngTo
      End If
  
      ActiveWorkbook.Worksheets(WS).Range(RngTo).Value = Workbooks(WB).Worksheets(WS).Range(RngFrom).Value
      End Sub
  </code></pre>