|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
то есть вместо Range.EntireRow.Insert Range.EntireRow.Insert ... Range.EntireRow.Insert выполнить одну команду??? нужно это для копирования в этот вставленный Range, поэтому хорошо бы иметь сылку (объект Range) на первую (левую, верхнюю) ячейку этого вставленного фрагмента ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:33 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 13:38 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
спасибо за отклик это не то, что нужно суть в том, что нужна ОДНА команда, заменяющая собой вызов 10, вставлять строки так - тормоза. речь идет об использовании automation, команды посылаются приложением, так вот сокращение количества команд существенно увеличивает производительность. Дело в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 13:48 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
неправда. это именно то, что вам нужно. вы не хотите читать, что вам написали. EntireRow.Insert произойдет в количестве штук строк, попадающих в Range если там 10 строк, то код Код: plaintext 1. 2.
ЗЫ вы все-таки подумайте, прежде чем отказаться от этого окончательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 15:23 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
к сожалению у меня нет Range с нужным количеством строк, а есть Range перед которым нужно вставить N строк. Получается мне предварительно необходимо создать Range нужного размера и потом позвать его EntireRow.Insert, что в принципе сокращает количество команд, если строк больше двух. Таким образом, делаю вывод, что команды (вставить N строк перед Range) нужной мне нет. и кроме того в результате нужна ссылка на Range, который соответствует первой ячейке вставленного фрагмента. После EntireRow.Insert можно получить Range = Selection.Cells(1,1), но это еще одна команда. А так хотелось... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 15:33 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
Создается впечатление, что вы пытаетесь экономить строчки кода.. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 15:36 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
вполне возможно генерация отчетов посредством automation сплошной тормоз, по сравнению например с генерацией XML для Office2003 или тектовый отчет но бывает нужно, поэтому считаю необходимым экономить ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 15:49 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
2 sbgeo слов, которые вы говорите ("сначала создать диапазон" или "у меня нет диапазона , а у меня есть диапазон перед которым..." ) - я не понимаю. Или вы хотите вставить строки и знаете (например - можете вычислить) где это должно произойти, либо вам этого совсем не нужно, и вы еще не нашли слов для выражения своих потребностей. а "еще одна команда" обязательно понадобится. Insert - это sub. значения в виде диапазона он не возвращает, а меняет текущий объект диапазона. здесь иных вариантов автоматизации нет. (так мне кажется) потому приношу свои извинения за то, что помешал чужому разговору. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 16:01 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
спасибо за внимание возможно я действительно изъясняюсь не очень понятно, может поэтому и удовлетворительного решения пока не нашел исходные данные: на входе есть два объекта Range: RangeTo, RangeWhat RangeTo - диапазон, перед которым необходимо вставить что-то (а именно RangeWhat) RangeWhat - диапазон, содержимое которого нужно вставить перед RangeTo решение вижу в использовании RangeWhat.Copy(RangeDestination), где RangeDestination - диапазон, куда вставляется RangeWhat итак задача сводится к - вставке перед RangeTo количества строк, соответствующего кол-ву строк в RangeWhat - определение RangeDestination, как первой (левой верхней) ячейки вставленного перед RangeTo диапазона если кто дочитал, большое спасибо может быть есть более изящное решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 16:17 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
лень смотреть на макросы копните сюда : скопируйте с листа чонить в буфер обмена это типа RangeWhat встаньте куданить - RangTo правая педаль ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 16:54 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
clipboard не катит никак, потому и пользую Range.Copy ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 16:56 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
sbgeoclipboard не катит никак, потому и пользую Range.Copy a range.copу куда копирует ??? на жесткий диск что ли ? вот Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 17:03 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
такой алгоритм сейчас и реализован, от него и нужно уйти, а именно уйти от использования Clipboard. у Range.Copy() есть параметр, Destination, если его опустить, то копируется в Clipboard, иначе же в указанное место. Так вот созданием этого "указанного места" я и занимаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 17:12 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
код, занимающийся собственно вставкой пустых строк на заявленных вами условиях, мог бы быть таким. Код: plaintext
переписать его можно множеством разных способов. (уж пяток то - на бегу наберется.) какой из них в вашем случае окажется лучшим - решайте сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 17:22 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
а есть уверенность, что при указании Destionation Excel не использует буфер обмена ? тогда вперед - построчно ручками. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 17:23 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
глупыйглупыйкод, занимающийся собственно вставкой пустых строк на заявленных вами условиях, мог бы быть таким. Код: plaintext
переписать его можно множеством разных способов. (уж пяток то - на бегу наберется.) какой из них в вашем случае окажется лучшим - решайте сами. да, так я и сделал, а хочется так как в топике, ну и х. с ним спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 17:33 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
big-dukeа есть уверенность, что при указании Destionation Excel не использует буфер обмена ? тогда вперед - построчно ручками. как бы в доке не читал, но это было бы уж слишком спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 17:35 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
Range("B2").Resize(10).EntireRow.Insert ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2005, 08:17 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
Наверное уже не актуально, но всё равно напишу, чтобы было :)) Мне больше пригодился такой вариант для вставки нескольких строк после заданной в Excel из VBA, если известен номер строки и количество вставляемых строк: Код: plaintext 1.
Кажется он чуть-чуть покрасивее в некоторых случаях.. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2011, 20:27 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
Если совсем честно. то не имеет смысла ВСТАВЛЯТЬ строки в какое-то место. Если это таблица для БД (список какой-то, например) - проще сделать primary unique identifier (ну, пронумеровать записи, например) и просто добавлять строки в конец списка... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2011, 22:17 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
AndreTM , а если это НЕ таблица для БД? Или если под таблицей располагаются какие-нибудь дополнительные строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2011, 23:19 |
|
как в документ Excel вставить несколько строк одной командой VBA?
|
|||
---|---|---|---|
#18+
Selection.Resize(5).EntireRow.Insert shift:=xlUp ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2012, 09:36 |
|
|
start [/forum/topic.php?fid=61&msg=37272243&tid=2172682]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 407ms |
0 / 0 |