Как я могу автоматически заполнить ячейки в Excel, используя VBA? - PullRequest
4 голосов
/ 18 февраля 2010

У меня есть некоторые данные в первых столбцах, некоторые вычисляемые поля сразу после этого, и я хочу автоматически заполнить остальные строки с теми же правилами, что и в первой строке.

Общее количество строк, количество столбцов для входных / расчетных данных известно, и я был бы признателен за рабочий пример для этих данных:

  |  A  |  B  |    C   |    D   |      E     |
----------------------------------------------
1 |  3  |  1  | =A1+B1 | =A1*B1 | =sum(C1:D1)|
2 |  4  |  4  |        |        |            |
3 |  5  | 23  |        |        |            |
4 | 42  |  4  |        |        |            |
5 |  7  |  4  |        |        |            |

Реальные данные обычно имеют 10K + строк и 30+ столбцов. Когда я пытаюсь сделать это вручную, иногда получаю ошибку Selection is too large. Я говорю об этом, потому что общее решение может не работать с использованием VBA, но если я знаю, как автоматически заполнить этот пример, я сделаю это для каждого столбца, если это необходимо. Версия Excel 2000, и это не моя вина:)

Ответы [ 4 ]

6 голосов
/ 18 февраля 2010
sub copydown()
    Range("c1:e" & Range("a" & activesheet.rows.count).End(xlUp).Row).FillDown
end sub
1 голос
/ 18 февраля 2010

Элементарно, но он должен дать вам кое-что, на что можно опираться, и он работает в Excel 2003 (самый старый у меня)

1 голос
/ 18 февраля 2010

Использование функции копирования вниз (ctrl-D).

Выберите Ячейки c1-e1 и затем полностью вниз (если у вас есть 10000 строк данных, выбранный диапазон ячеек c1-e10000).

Нажмите Ctrl-D.

Копирует содержимое ячейки (ваши формулы) во все ячейки под ней.

http://www.google.com/search?q=using+excel+ctrl-d

0 голосов
/ 18 февраля 2010

Вот как я это сделал, когда я это сделал:)

Ctrl+C
<--
Ctrl+Shift+Down
-->
Ctrl+Shift+Up
Ctrl+V

Мне кажется, это самый эффективный способ. Ничто не мешает вам обернуть это в макрос и назначить удобную привязку клавиш.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...