.End (xlToRight) в пределах диапазона - PullRequest
1 голос
/ 13 января 2012

Я только что спросил, могу ли я каким-то образом изменить следующий фрагмент, чтобы включить .End(xlToRight) вместо определения L6 (результат тот же).

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

Большое спасибодля любой помощи:)

РЕДАКТИРОВАТЬ: обновленный pdw TonyDallimore (см. ответ ниже)

Тони, приведенный выше код является суммойо том, что я пытался заставить работать.В операторе with я собираюсь скопировать содержимое строки 5 и вставить ее в n-ую строку, которая определяется списком, уже присутствующим в columnA.В последней строке вашего совета будут вставлены значения всех строк, кроме верхней (r5), чтобы сохранить прозрачность для пользователя и минимизировать размер файла.Средний бит - это оставшиеся «незавершенные работы», поскольку L5 не обязательно будет столбцом farmost.

1 Ответ

5 голосов
/ 13 января 2012

Оба вопроса

.End(xxx) совпадает с Ctrl+Arrow на клавиатуре и останавливается на первой ячейке, которая отличается от текущей ячейки.Поэтому, если вы начинаете с ячейки со значением, она останавливается у ячейки без значения или наоборот.

Проблема с открытием вверху слева и использованием xlDown и xlToRight заключается в том, что она остановится напустая ячейка в середине вашего стола.Хорошо, если вы не можете иметь пустую ячейку посередине, но XlUp или xlToLeft справа внизу безопаснее.

Вопрос 1

Ваша проблемачто .End(xxx).Column вернет 12, и вы не знаете, как превратить его в букву "L"?

Так что, есть много вариантов.Я думаю, что проще всего вспомнить, что

.Cells(6,Columns.Count).End(xlToLeft).Address

вернет "$ L $ 6".

Вопрос 2

1033 * представляет нижнюю правую ячейку?

.Cells.SpecialCells(xlCellTypeLastCell) может быть проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...