У меня только что появилось следующее: я могу как-то изменить следующий фрагмент, чтобы включить .End(xlToRight)
вместо определения L6
(результат тот же)..End (xlToRight) в пределах диапазона
Sub Test()
Dim LastCol As String
With Worksheets("Sheet1")
LastCol = .Cells(5, .Columns.Count).End(xlToLeft).Address
.Range(Range("A5"), LastCol).Copy
.Range("B5:L5", Range("B5:L5").Offset(LastRow - FirstRow, 0)).PasteSpecial xlPasteFormulas
.Range("B6", .Cells.SpecialCells(xlCellTypeLastCell)).Copy
.Range("B6").PasteSpecial xlPasteValues
End With
End Sub
Большое спасибо за любую помощь :)
EDIT: обновленный PDW TonyDallimore (см ответ ниже)
Тони, приведенный выше код является суммой того, что я имею пытался работать. В инструкции with
я хочу скопировать содержимое строки 5 и вставить их в n-ю строку, которая определяется списком, уже присутствующим в столбце A. Последняя строка в вашем совете будет затем вставлять значения всех, кроме верхней строки (r5), чтобы сохранить прозрачность для пользователя, при этом минимизируя размер файла. Средний бит - это оставшаяся «работа», так как L5 не обязательно является столбцом farmost.
Спасибо Тони. Вопрос (1) относится ко мне просто не зная, как включить xlToRight в фрагмент кода (очень простой, я знаю, но я просто не могу понять это и тратить слишком много времени на попытки!). Ваше предложение ко второму вопросу - это как всегда :) – heavyarms
Чтобы привести пример, здесь была моя первая попытка: Range («B6», Range («B6»). End (xlToRight), Range («B6», Диапазон («B6»). Конец (xlToRight)). Смещение (LastRow - FirstRow, 0)). Копия – heavyarms
В Excel предлагается полдюжины различных способов достижения одной и той же задачи. Мы все используем способы, которые кажутся нам самыми легкими, и вы используете синтаксис, который я почти никогда не использую. Мне кажется, что вы пытаетесь вставить диапазон B6 в нижнее правое над собой, чтобы заменить формулы со значениями. Если да, я бы пошел на что-то вроде: 'With Sheets (" xxx ")' '.Range («B6», .Cells.SpecialCells (xlCellTypeLastCell)). Копировать' .Range («B6»). PasteSpecial xlPasteValues''Свернуть с помощью –