из того, что я могу сказать, вы хотите скопировать в нижней части используемого диапазона TempDataNew
, не Leads
. Таким образом изменить
Set rngSource = Sheets("Leads").Range("A1").CurrentRegion
к этому
Set rngSourceTempDatNew = Sheets("TempDatNew").Range("A1").CurrentRegion
lastrowdynTempDatNew = rngSourceTempDatNew.Rows.Count
Кроме того, я предполагаю, что вы действительно не хотите или нужно скопировать весь столбец A из Leads
. Поэтому это нужно изменить.
Sheets("Leads").Range("A:A").Copy
или это именно то, что вы в конечном итоге сделаете. Могу ли я рекомендовать также найти последнюю строку используемого диапазона в столбце A Leads
, как вы хотите сделать для TempDatNew
. Может быть что-то вроде
Set rngSourceLeads = Sheets("Leads").Range("A1").CurrentRegion
Теперь просто скопировать из диапазона в Leads
в нужном месте в TempDatNew
можно сделать что-то вроде этого
rngSourceLeads.Copy _
destination:=Worksheets("TempDatNew").Range("A" & lastrowdynTempDatNew + 1)
Я не могу точно сказать, почему вы храните последний строка плюс одна до x
, но мое нынешнее мышление заключается в том, что оно не нужно для ваших целей. Каждый раз, когда этот код запускается, он обновляет последнюю строку TempDatNew
для вас, и вы просто просто вставляете строку после этого.
Таким образом, все вместе у вас есть что-то более краткое и точное с
If Sheets("Leads").Range("A1") <> "" Then
Set rngSourceTempDatNew = Sheets("TempDatNew").Range("A1").CurrentRegion
lastrowdynTempDatNew = rngSourceTempDatNew.Rows.Count
Set rngSourceLeads = Sheets("Leads").Range("A1").CurrentRegion
rngSourceLeads.Copy destination:=Worksheets("TempDatNew").Range("A" & lastrowdynTempDatNew + 1)
End If
EDIT Если вы хотите скопировать столбец А в «Ведет» изменить
Set rngSourceLeads = Sheets("Leads").Range("A1").CurrentRegion
к этому
lastrowdynLeads = Sheets("Leads").Cells(65000, 1).End(xlup).Row
Set rngSourceLeads = Sheets("Leads").Range("A1:A" & lastrowdynLeads)
Это предполагает s у вас нет данных ниже строки 65000 в столбце А в листе «Ведет».
получить lastRow использовать 'lastrowdyn = Sheets ("ведет"). Cells (Sheets ("Ведет"). Rows.Count, "A"). End (xlUp) .Row)' Вопрос, где находится строка «Вставить»? –
@ ShaiRado- линия, за которой следует .copy. Я попытался использовать Destination: =, а также .PasteSpecial xlPasteValues. Такая же ошибка. – Tanmoy