Функция VBA для копирования текста из одной неподвижной ячейки для вставки в другую ячейку, перемещение вниз на одну ячейку при каждой вставке/цикле

Я пытаюсь создать рабочий лист, который в конечном итоге будет использоваться для оптимизации маршрута с использованием исходного базового адреса и списка местоположений. В настоящее время у меня есть макрос, который использует API-интерфейс Google Maps, в котором будут указаны расстояния и продолжительность от исходного адреса до всех адресов в списке. Я пытаюсь найти самую короткую продолжительность, найденную с помощью API карт Google, и использовать связанный адрес в качестве нового источника, чтобы я мог снова сравнить расстояния и продолжительность. У меня есть настройка рабочего листа, так что адрес с самой короткой продолжительностью заменяет предыдущий адрес источника, но мне нужно иметь возможность копировать и вставлять каждый из новых адресов источника в свои собственные ячейки, чтобы по существу составить список порядка, в котором они используются.

По сути, считайте, что в ячейке G16 хранится первый исходный адрес, и после первого запуска макроса расстояния/длительности G16 обновится до любого адреса, который наименее удален от исходного адреса и станет новым исходным. Затем мне нужно скопировать этот исходный адрес в ячейку G18 и повторить макрос расстояния/длительности, при этом каждый последующий адрес из G16 копируется по 1 ячейке/строке за раз. т. е. 1-й адрес копируется в G18, 2-й — в G19, 3-й — в G20, пока не будут перечислены все адреса. Количество адресов также является переменным и меняется каждую неделю, поэтому диапазон не соответствует.

Пожалуйста, дайте мне знать, если это имеет какой-либо смысл, поскольку это довольно сложно объяснить. Спасибо!

Что конкретно доставляет вам проблемы?

Tim Williams 29.05.2019 08:39

У меня очень-очень ограниченный опыт работы с VBA, поэтому я попытался записать макрос для выполнения этой работы, но до сих пор мне удавалось просто копировать и вставлять значение, но я хочу, чтобы он перемещался/вставлялся на одну ячейку каждый раз, когда макрос использовал. Вот что у меня есть: Range("G16").Select Selection.Copy Range("G19").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("G16").Select ActiveSheet.Paste Application.CutCopyMode = False Next End Sub

nofriendsnojo 30.05.2019 01:31
Range("G16").Copy Cells(Rows.count, "G").End(xlUp).Offset(1, 0) скопирует G16 в следующую свободную ячейку ниже.
Tim Williams 30.05.2019 01:37

Это почти идеально! Спасибо чувак! Единственное, что ячейка G16, из которой я копирую, является формулой, и я пытаюсь скопировать/вставить только значение, которого достигает формула, возможно ли это?

nofriendsnojo 30.05.2019 01:41
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
4
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это должно работать:

Cells(Rows.count, "G").End(xlUp).Offset(1, 0).Value = Range("G16").Value

Другие вопросы по теме

Похожие вопросы