У меня есть код в VBA, который копирует 2 столбца существующих значений под аналогичными данными другого листа. Я хочу немного изменить код VBA, чтобы, если ячейка значения другого листа (C3) была TRUE, то вместо этого она копировала эти данные в начало существующих данных (начало A1 и B1). У меня есть эти данные на листе:
-Q- -R-
156 F5
486 T9
695 H3
У меня уже есть данные на другом листе:
-A- -B-
695 E6
326 T8
326 Q9
Мне нужно вставить новые значения перед существующими значениями, еслизначение C3 на другом листе равно TRUE
-A- -B-
156 F5
486 T9
695 H3
695 E6
326 T8
326 Q9
У меня есть код для копирования данных в конец существующих данных, мне просто нужно расширить его, чтобы иметь возможность вставить данные в началоданные, существенно сдвигая все существующие значения ниже новых, если C3 равен TRUE. (Значения, которые мне нужно скопировать, находятся на листе «Nastavit D» (Q и R), мне нужно вставить их в «Цепочку (A и B)», а ячейка C3 TRUE находится на «Nedotykat sa !!! "лист) (Если C3 - ЛОЖЬ, мне нужно скопировать его в конец существующих данных, что мой код уже делает, без проверки C3.)
Sub CopyRange()
Dim x, y(), I As Long, ii As Long
If Sheets("Nastavit D").[Q2] = "" Then Exit Sub
x = Sheets("Nastavit D").[Q2:R1000]
For I = 1 To UBound(x, 1)
If x(I, 1) <> "" Then
ReDim Preserve y(1 To 2, 1 To I)
For ii = 1 To 2
y(ii, I) = x(I, ii)
Next
Else: Exit For
End If
Next
With Sheets("Chain")
.Cells(.rows.Count, 1).End(xlUp).Offset(1, 0).Resize(UBound(y, 2), 2) = Application.Transpose(y)
End With
End Sub