Чтобы получить последний столбец в строке 1 с чем-нибудь в этом вы должны делать
intLast = Omega.Cells(1,Omega.Columns.Count).End(xlToLeft).Column
intNext = intLast + 5 - (intLast + 5) Mod 5
Set rngDest = Omega.Cells(1,intNext).Resize(30000, 3)
Просьба внести изменения по одному:
Cells
принимает два параметра. Первый указывает, что строка вторая указывает на столбец. Вы хотите начать с последней колонки первой строки. Таким образом, первый параметр должен быть 1. Второе должно быть количество столбцов на вашем листе.
Примечание, что, как правило, рекомендуется указать рабочую таблицу/рабочую книгу, над которой вы работаете. Это помогает предотвратить ошибки, если открыто несколько книг или выбран неправильный рабочий лист.
.End
приведет вас к границе области вы находитесь. Так как вы находитесь в последней ячейке в первой строке вы на ультраправой листа. Итак, у вас есть tomove на слева, чтобы найти последний столбец со значениями в нем. следовательно .End(xlToLeft)
Примечаниеdocumentation говорит нам о том, что параметр должен быть один из these значений.
Теперь для вашего сообщения об ошибке. Вы можете обратиться к this handy VBA error list за дополнительной информацией о том, что может вызвать вашу ошибку. Я рекомендую искать номер ошибки, если он указан в предупреждении об ошибке.
Похоже, ваша ошибка вызвана тем, что Omega
не тот тип. VBA сообщает вам, что вы пытаетесь получить доступ к члену, который называется Cells
, но он не может найти его в объекте.Я предлагаю добавить Omega
на часы и посмотреть на его элементы при возникновении ошибки. С небольшой отладкой вы сможете найти источник проблемы!
Надеется, что это помогает :)
'Omega.Cells (1, Columns.Count) .END (xltoLeft) .Column' будет последним столбец занимали в строке 1 –
AFAIK' Клетка() 'требует два целых чисел , не может использовать альфа-символы. Таким образом, вам понадобится 'shtAlpha.Cells (Rows.Count, 3) .End (xlUp)'. Или, если вы * * * хотите использовать буквы, измените его на 'shtAlpha.Cells (Rows.Count, столбцы (« C »). Column). – BruceWayne
«1» не является числом. Это текстовая строка, содержащая символ ASCII, который соответствует визуальному изображению числа 1. 1 - это число. «1» - текстовая строка. – Kaz