Я копирую некоторые диапазоны между листами, и я не знаю, почему это работает, только когда я активирую лист, прежде чем копировать или вставлять их. Это работает:VBA копировать и вставлять только работу, если я активирую лист
s.Activate
s.Range(Cells(2, 8), Cells(lrow, 8)).Copy
d.Activate
d.Range(Cells(2, 3), Cells(lrow, 3)).PasteSpecial xlPasteValues
Это не:
s.Range(Cells(2, 8), Cells(lrow, 8)).Copy
d.Range(Cells(2, 3), Cells(lrow, 3)).PasteSpecial xlPasteValues
Почему нужно VBA листы, которые будут активированы, если я уже определили их с переменными «S» и «д»? Спасибо
Вам необходимо квалифицировать *** ВСЕ объекты диапазона ***: 's.Range (s.Cells (2, 8), s.Cells (lrow, 8)). Copy' –
Также как примечание, пропустите в буфер обмена и назначьте значения напрямую. 'd.Range (d.Cells (2, 3), d.Cells (lrow, 3)). Значение = s.Range (s.Cells (2, 8), s.Cells (lrow, 8)). ' –
Спасибо Скотту. Это действительно полезно! – uttuck