1.На листе Данные в диапазоне V:AF используется обновляемый веб запрос с сайта в виде таблицы. Мне нужно в каждой строке этой таблицы, заполнить ячейки в диапазоне A:P. Проблема в том, что при обновлении веб запроса, в таблице появляются новые строки, которые двигают старые и мои данные введённые в диапазон A:P "съезжают" в низ или вверх. Мне нужно научить каждую строку в таблице(V:AF) закреплять за собой диапазон A:P. 2.Или другой вариант, заставить веб запрос при обновлении, добавлять новые строки к таблице снизу, не двигая при этом старые. То есть новые строки в таблице будут добавятся по очереди с верху в низ. Этот вариант является наиболее оптимальным, но к сожалению в "свойствах диапазона данных" нет такой опции.
Вот посмотрите на примере в файле, лист данные, синим цветом выделена строка (V22:W22 28-03, 22:45 Bulgaria - Italy) Теперь нажмите правой кнопкой по таблице "обновить" Вы увидите что 28-03, 22:45 Bulgaria - Italy "съехала" на 39 строку (V39:W39) Мне нужно что бы диапазон A22:P22 который был до обновления, после обновления "съехал" туда же, в данном примере на A39:P39. Попросту всё что голубым цветом, переместилось туда же, где оказалось 28-03, 22:45 Bulgaria - Italy после обновления.
Второй вариант, это после нажатия "обновить", новые строки к таблице добавятся в строки 24,25,26....и так далее, то есть после имеющихся строк, не двигая их.
Возможно ли осуществить это в моём файле или нужно полностью менять архитектуру файла?
Пример в файле
1.На листе Данные в диапазоне V:AF используется обновляемый веб запрос с сайта в виде таблицы. Мне нужно в каждой строке этой таблицы, заполнить ячейки в диапазоне A:P. Проблема в том, что при обновлении веб запроса, в таблице появляются новые строки, которые двигают старые и мои данные введённые в диапазон A:P "съезжают" в низ или вверх. Мне нужно научить каждую строку в таблице(V:AF) закреплять за собой диапазон A:P. 2.Или другой вариант, заставить веб запрос при обновлении, добавлять новые строки к таблице снизу, не двигая при этом старые. То есть новые строки в таблице будут добавятся по очереди с верху в низ. Этот вариант является наиболее оптимальным, но к сожалению в "свойствах диапазона данных" нет такой опции.
Вот посмотрите на примере в файле, лист данные, синим цветом выделена строка (V22:W22 28-03, 22:45 Bulgaria - Italy) Теперь нажмите правой кнопкой по таблице "обновить" Вы увидите что 28-03, 22:45 Bulgaria - Italy "съехала" на 39 строку (V39:W39) Мне нужно что бы диапазон A22:P22 который был до обновления, после обновления "съехал" туда же, в данном примере на A39:P39. Попросту всё что голубым цветом, переместилось туда же, где оказалось 28-03, 22:45 Bulgaria - Italy после обновления.
Второй вариант, это после нажатия "обновить", новые строки к таблице добавятся в строки 24,25,26....и так далее, то есть после имеющихся строк, не двигая их.
Возможно ли осуществить это в моём файле или нужно полностью менять архитектуру файла?
GreenDog, если я правильно поняла, то вот так:[vba]
Код
Sub Copy_To_Last_Cell() Dim lr As Long 'lr - номер последней строчки в столбце V lr = Cells(Rows.Count, 22).End(xlUp).Row Sheets("Результаты").Range("A3:P3").Copy Cells(lr + 1, 1).PasteSpecial xlPasteValuesAndNumberFormats Application.CutCopyMode = False End Sub
[/vba] Вычисляет последнюю заполненную строчку в столбце №22 (V) - в Вашем примере это 23-я, и вставляет значения в следующую, т е в 24-ю. Если нужно в последнюю вставлять, а не в следующую (т е в 23-ю, а не в 24), тогда [vba]
GreenDog, если я правильно поняла, то вот так:[vba]
Код
Sub Copy_To_Last_Cell() Dim lr As Long 'lr - номер последней строчки в столбце V lr = Cells(Rows.Count, 22).End(xlUp).Row Sheets("Результаты").Range("A3:P3").Copy Cells(lr + 1, 1).PasteSpecial xlPasteValuesAndNumberFormats Application.CutCopyMode = False End Sub
[/vba] Вычисляет последнюю заполненную строчку в столбце №22 (V) - в Вашем примере это 23-я, и вставляет значения в следующую, т е в 24-ю. Если нужно в последнюю вставлять, а не в следующую (т е в 23-ю, а не в 24), тогда [vba]
Вот посмотрите на примере в файле, лист данные, синим цветом выделена строка (V22:W22 28-03, 22:45 Bulgaria - Italy) Теперь нажмите правой кнопкой по таблице "обновить" Вы увидите что 28-03, 22:45 Bulgaria - Italy "съехала" на 39 строку (V39:W39) Мне нужно что бы диапазон A22:P22 который был до обновления, после обновления "съехал" туда же, в данном примере на A39:P39. Попросту всё что голубым цветом, переместилось туда же, где оказалось 28-03, 22:45 Bulgaria - Italy после обновления.
Второй вариант, это после нажатия "обновить", новые строки к таблице добавятся в строки 24,25,26....и так далее, то есть после имеющихся строк, не двигая их.
Manyasha, спасибо, но немного не так.
Вот посмотрите на примере в файле, лист данные, синим цветом выделена строка (V22:W22 28-03, 22:45 Bulgaria - Italy) Теперь нажмите правой кнопкой по таблице "обновить" Вы увидите что 28-03, 22:45 Bulgaria - Italy "съехала" на 39 строку (V39:W39) Мне нужно что бы диапазон A22:P22 который был до обновления, после обновления "съехал" туда же, в данном примере на A39:P39. Попросту всё что голубым цветом, переместилось туда же, где оказалось 28-03, 22:45 Bulgaria - Italy после обновления.
Второй вариант, это после нажатия "обновить", новые строки к таблице добавятся в строки 24,25,26....и так далее, то есть после имеющихся строк, не двигая их.GreenDog
Сообщение отредактировал GreenDog - Воскресенье, 29.03.2015, 12:26