Когда я пытаюсь импортировать данные из одной рабочей книги в другую с теми же потребностями в данных, старая книга использует те же ссылки. Он портит проверку данных в книге, которую я скопировал, чтобы сделать ее = 'OldWorkbookSpecificSheet'! $ P $ 2: $ p $ 3. Могу ли я что-нибудь сделать, чтобы это исправить, или мне просто нужно снова создавать проверки данных каждый раз, когда я хочу что-то изменить. Любая помощь будет принята с благодарностью.
Sub CopyWorkbook(WB As String)
Dim i As Integer
Dim OtherWBVersion As String
If (OtherWBVersion > "0510") Then
With ThisWorkbook
For i = 0 To 19
.ImportRange WB, Me.Name, "F" & (4 + i * 25) & ":F" & (15 + i * 25)
.ImportRange WB, Me.Name, "G" & (4 + i * 25) & ":S" & (15 + i * 25)
.ImportRange WB, Me.Name, "E" & (18 + i * 25) & ":G" & (24 + i * 25)
.ImportRange WB, Me.Name, "H" & (18 + i * 25) & ":H" & (24 + i * 25)
.ImportRange WB, Me.Name, "J" & (18 + i * 25) & ":K" & (24 + i * 25)
.ImportRange WB, Me.Name, "L" & (18 + i * 25) & ":L" & (24 + i * 25)
.ImportRange WB, Me.Name, "N" & (20 + i * 25)
.ImportRange WB, Me.Name, "Q" & (20 + i * 25)
.ImportRange WB, Me.Name, "Q" & (22 + i * 25)
.ImportRange WB, Me.Name, "P" & (22 + i * 25)
.ImportRange WB, Me.Name, "N" & (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