Во-первых, в коде есть опечатка. В конце последнего утверждения у вас есть беспризорный символ.
Кажется, что вы хотите, чтобы Excel был эквивалент CTRL + Shift + Вниз, Вправо, Вправо, Вправо. То, что на самом деле делает код, это Ctrl + [клавиша со стрелкой], затем развернуть исходный выбор в эту новую ячейку. Microsoft сообщает нам, что CTRL + [ArrowKey] приближает нас к краю текущей области. В качестве иллюстрации:
Так, так как у вас есть выбранный диапазон вы будете только повторный выбор того же диапазона каждый раз!
Что может быть решением для вас использует последний столбец при попытке выбрать диапазоны, которые требуют призывающих .End(xlToRight)
несколько раз:
'Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.Cells(1,Selection.Columns.Count).End(xlToRight)).Select
Range(Selection, Selection.Cells(1,Selection.Columns.Count).End(xlToRight)).Select
Range(Selection, Selection.Cells(1,Selection.Columns.Count).End(xlToRight)).Select
что эквивалентно нажатию CTRL + Shift + вниз, вправо, вправо ,Правильно.
Позвольте мне знать, если у вас есть больше проблем :)
Может быть, что разработка «* не работает * «в данном случае означает именно это. – displayname
второй выбор.Еnd (xlToRight). Выбор не сделал проход справа. Может быть, потому, что существует одна пустая ячейка. – sisty
Вы должны добавить это к вашему вопросу ^^ Вы также можете обратиться к людям, написав '@' например. @stefanfalk, который отправляет уведомление пользователю, с которым вы хотите поговорить. –
displayname