Я пытаюсь написать код VBA для эквивалента щелчка и перетащить угол ячейки до конца.Иллюстрация:
Я пробовал несколько разных предложений, которые я нашел в Интернете, но меня всегда встречают ошибки.
Ниже приведена строкаВ настоящее время я работаю над.Но я получаю Ошибка во время выполнения '1004': ошибка приложения или объекта .
Range("A4").Select
ActiveCell.AutoFill Range(ActiveCell, ActiveCell.Offset(0, 1).End(xlRight).Offset(0, -1))
Для большего контекста здесь представлен весь сценарий, над которым я работаю: снимок экранавсего сценария:
и вот оригинальная строка сценария в соответствии с моей собственной логикой, прежде чем я начал искать ответы в Интернете:
Selection.Autofill Destination:=Range("A4":mylastcell_4), Type:=xlFillDefault
mylastcell_4
имеетбыло объявлено в верхней части скрипта (см. скриншот всего скрипта).Я также пытался изменить на "A4",mylastcell_4
, но все равно получаю сообщение об ошибке.
Я очень плохо знаком с VBA и не знаю, куда идти.
Я пытался
.Range(.Cells(4, "A"), .Cells(1, .Columns.Count).End(xlToLeft).Offset(3, 0)).Formula = "=concatenate(a2, a1, a3)"
Что предлагается в одном из ответов ниже.Однако это дает результат, только если у меня есть 5 ячеек в строке 1. Мне требуется больше гибкости, так как для работы может быть от 2 до 500 значений. Изображение результатов предложенного выше сценария
Я также обнаружил, что движение по этому маршруту, кажется, разрушает мою следующую серию конкатенации, которая, как я знаю, сработала отдельно - надеюсь, что-то простое, что требуетизменяющий? Скрипт, используемый для следующей конкатенации .
Конечная цель этого упражнения - получить список текста, подготовленный для непосредственного использования в SQL.то есть abcde становится 'a', 'b', 'c', 'd', 'e' - все в одной ячейке.