Svinkovod.ru

Бытовая техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Добавление новой строки в таблицу Excel с помощью VBA, когда под ней находятся другие таблицы разной ширины

Добавление новой строки в таблицу Excel с помощью VBA, когда под ней находятся другие таблицы разной ширины

Я пытаюсь добавить новую строку в таблицу в Excel, используя VBA. Это относительно просто, однако если я попытаюсь использовать обычный “ActiveSheet.ListObjects(«Table1»).ListRows.Add”, то получу ошибку, которая говорит: “Это не сработает, потому что это приведет к перемещению ячеек в таблице на вашем листе.” Я понимаю, почему получаю эту ошибку (потому что новая строка переместит ячейки таким образом, что таблица ниже развалится).

Итак, есть ли элегантный способ добавить строку в эту таблицу, предпочтительно таким образом, чтобы была добавлена целая строка (нет никаких данных, о которых нужно беспокоиться по горизонтали из таблицы)? У меня есть некоторый код, который я написал, который добавляет целую новую строку, однако он полагается на то, что AutoFormat включен, а также, похоже, не работает последовательно, когда я имею дело с большим количеством таблиц (мой исходный файл имеет гораздо больше, скриншот просто из фиктивного файла, который я сделал).

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

3 ответа

  • VBA: изменение ширины ячейки Excel

У меня есть некоторые VBA и пакетные скрипты, которые считывают таблицу Mac-адресов из некоторых коммутаторов и импортируют ее в Excel для форматирования. Но текст слишком длинный для ширины ячейки по умолчанию. Можно ли изменить ширину отображаемой ячейки? (Говоря о отображаемой ширине ячейки, я.

При запуске макроса VBA код Sub x() Workbooks.Add End Sub Excel 2013 идет к Not Responding. Если я запускаю метод Add с каким-то шаблоном, например Workbooks.Добавить(C:book1.xlsx) новая рабочая книга на основе шаблона создана успешно. Когда я пытаюсь сгенерировать код с помощью генератора.

Этот код сначала добавляет новую строку ниже ListObject , а затем изменяет размер таблицы:

конечно, вам нужно заменить ActiveCell.ListObject и Activesheet соответствующими объектами, это работает для таблицы, содержащей активную ячейку.

Если вы знаете, что таблицы будут содержать одинаковое количество столбцов, есть простой обходной путь. Просто расположите таблицы вертикально так, чтобы таблицы с большим количеством столбцов были выше таблиц с меньшим количеством столбцов.

Поэтому, если у вас есть 5 таблиц с (например) 3, 4, 5, 5 и 6 столбцами, поместите таблицу с 6 столбцами вверху, две таблицы с 5 столбцами ниже, таблицу с 4 столбцами ниже и таблицу с 3 столбцами внизу. Это должно решить проблему.

Читайте так же:
Можно ли долить обычную воду в аккумулятор

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

Попробуйте использовать этот код.

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

У меня есть лист, который содержит строки со следующим текстом (D#): D1 D2 D3 Мне нужно добавить новую строку D4 (добавив следующее целое число к букве D) под последней записью, которая является D3.

У меня есть рабочий лист Excel (называемый Fee Planner — стандартный ввод) с таблицей на нем (называемой StandardInput) и кнопкой, которая вызывает суб VBA, чтобы добавить новую строку в нижнюю.

Нам нужно написать таблицу Excel с кодом VBA в ней; код читает и выполняет операции с данными в первом листе. Пользователь будет получать электронные таблицы, содержащие данные, но не содержащие.

У меня есть некоторые VBA и пакетные скрипты, которые считывают таблицу Mac-адресов из некоторых коммутаторов и импортируют ее в Excel для форматирования. Но текст слишком длинный для ширины ячейки.

При запуске макроса VBA код Sub x() Workbooks.Add End Sub Excel 2013 идет к Not Responding. Если я запускаю метод Add с каким-то шаблоном, например Workbooks.Добавить(C:book1.xlsx) новая рабочая.

У меня есть таблица с именем foobar , которая имеет Range(Cells(2, 1), Cells(11, 2)) (используйте Range(foobar[#All]) для включения строки заголовка). И есть другие таблицы, начиная с строки 13.

Я новичок в создании VBA в excel. Поэтому я борюсь с основами. Я хотел бы создать VBA для заполнения таблицы, связанной со статистическим дизайном строк по столбцам. Например, если вы хотите создать.

Контекст У меня есть слово с несколькими встроенными таблицами Excel. Эти таблицы Excel различаются по ширине. Я пытаюсь настроить ширину электронной таблицы Excel с помощью кода VBA так, чтобы они.

У меня есть очень простой VBA, который добавляет строку в таблицу Excel — первые четыре столбца содержат данные, введенные VBA, а последние четыре столбца автоматически копируют формулу из.

Я работаю над файлом, в котором я заполнил много таблиц в excel, используя VBA. После этого я хочу вставить таблицы одну за другой в word. Как только я вставляю таблицу по какой-то причине, курсор.

Как вставить/добавить новые/пустые строки в Excel?

Одними из наиболее часто используемых действий при работе с таблицами в Excel являются добавление и удаление строк вообще и пустых строк в частности. Рассмотрим механизмы добавления и удаления пустых строк в таблицах.

Читайте так же:
Как включить строку формул в excel

Вставка одной пустой строки в таблицу Excel

Добавить новую строку стандартными средствами Excel можно следующим образом: правой кнопкой мыши кликнуть на номере строки, над которой нужно вставить новую строку и выбрать в контекстном меню пункт «Вставить»

как вставить пустую строку в Excel

При этом, если какие-то данные в таблице были отформатированы (изменены шрифты, изменены цвета, установлены заливки ячеек), то после добавления новой строки появится кнопка «Параметры добавления», раскрыв которую можно выбрать для новой строки один из трех пунктов «Форматировать как сверху», «Форматировать как снизу» и «Очистить формат».

параметры добавления пустой строки

Вставить пустую строку можно также и через кнопки на панели инструментов. Для этого выделите строку, над которой нужно вставить новую пустую строку. После этого зайдите на вкладку «Главная», в группу «Ячейки» и раскройте меню кнопки «Вставить», выберите пункт «Вставить строки на лист».

Добавление нескольких пустых строк в таблицу Excel

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

как добавить новые строки в Excel

После того как строки выделены, необходимо щелкнуть правой кнопкой мыши на выделенном участке листа и из контекстного меню выбрать пункт «Вставить», либо воспользоваться кнопками во вкладках ленты, аналогично тому, как это описано в предыдущем пункте.

Как вставить/добавить заданное количество пустых/новых строк в определенные места?

Стандартными средствами Excel такую задачу решить можно не всегда, но не будем забывать про то, что существует такой мощный инструмент как VBA, позволяющий автоматизировать повторяющиеся однотипные действия. По инструкции устанавливается в приложение Excel надстройка для вставки пустых строк, которая предоставляет следующие возможности:

1. Выбор искомого значения, которым могут являться пустые ячейки, непустые ячейки, ячейки с заданным цветом заливки, ячейки с заданным числом, а также ячейки с заданным текстом (быквы, символы);

2. вставка заданного количества пустых строк как выше, так и ниже строк с искомым значением;

3. вставка разного количества пустых строк в зависимости от значения, указанного в заданном столбце;

4. вставка новых строк ниже каждой второй, третьей, пятой, n-ной строки выбранного диапазона (шаг задается пользователем);

5. вставлять пустые строки при каждой смене значения в заданном столбце;

6. вставлять пустые строки между заполненными (после каждой заполненной ячейки в столбце с заданным номером);

7. выбор диапазонов для вставки строк, предусмотрено несколько режимов:

а) используемый диапазон листа — диапазон активного листа, включающий в себя все ячейки, находящиеся между первой заполненной и последней заполненной ячейкой;

б) используемые диапазоны — отличается от предыдущего режима тем, что обработка данных производится в используемом диапазоне каждого листа рабочей книги;

в) диапазон листа — диапазон, который выберет пользователь;

г) диапазоны листов — это одноименные диапазоны на всех листа рабочей книги.

*Внимательно выбирайте диапазон для получения желаемого результата!

8. выбор необходимых условий для значений ячеек.

Для числовых значений: равно/не равно, больше/не больше, меньше/не меньше.

Для текстовых значений: совпадает/не совпадает, содержит/не содержит, начинается/не начинается, заканчивается/не заканчивается.

Программа выполняет проверку всех ячеек заданного диапазона и при выполнении выбранного условия вставляет нужное пользователю количество пустых строк над/под строкой (на выбор), содержащей ячейку с заданным значением. На выбор пользователя представлено множество условий для значений ячеек, с помощью которых можно определить места для вставки новых строк, а также предоставлен выбор диапазонов для обработки данных. Для большей гибкости поиск ячеек с нужными значениями можно осуществлять раздельно, как по текстовым значениям ячеек, так и по числовым. Предусмотрен также поиск как пустых, так и непустых ячеек. Этот макрос позволяет также добавлять новые строки в заданном количестве в каждую n-ую строку выбранного диапазона. Если, к примеру, вставить по две пустые строки ниже каждой второй строки диапазона А2:А24, т ополучим следующий результат:

Читайте так же:
Исходный текст в excel

Вставка разного количества пустых строк

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

ishodnye dannye dlya vstavki raznogo kolichestva pustyh strok

Если установить флажок в поле «Разное количество пустых строк для вставки», то поле с количеством строк для вставки изменяется на номер столбца, в котором указаны числовые значения.

vstavka raznogo kolichestva pustyh strok ukazannogo v zadannom stolbce

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

rezultat vstavki raznogo kolichestva pustyh strok

Удаление пустых строк

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

При записи макроса не могу добавить строку к таблице

Добрый день! Использую Word 2003. Необходимо, к примеру, добавить к таблице строку. Начинаю записывать макрос, в этот момент курсор мыши меняется на курсор с изображением дискетки и большая часть обычных действий с документов становится невозможной.. В частности, не выделяется строка в таблице, не вызывается контекстное меню и т.д. Раньше такого вроде не было. С чем это может быть связано и как это исправить?

2 Ответ от aap77 13.12.2011 19:18:54

  • aap77
  • генерал-полковник
  • Неактивен
  • Зарегистрирован: 12.09.2011
  • Сообщений: 925
  • Поблагодарили: 243
Re: При записи макроса не могу добавить строку к таблице

Строку надо выделять до записи макроса, тогда сгенерированный макрос запишется для объекта Selection, соответственно этот макрос будет работать при условии, что будет выделена строка, если это условие не выполняется, макрос выдаст ошибку, надо дописать код на проверку выделения строки, а вообще для записи макроса применяемого к выделенному объекту (таблица, рисунок, надпись и т.д. надо его заранее выделить).

Читайте так же:
Можно ли запустить видеокарту без дополнительного питания

3 Ответ от viter.alex 14.12.2011 02:28:10

  • viter.alex
  • Модератор
  • Неактивен
  • Откуда: Харьков, Украина
  • Зарегистрирован: 21.12.2009
  • Сообщений: 884
  • Поблагодарили: 140
Re: При записи макроса не могу добавить строку к таблице

При записи макроса не работает выделение мышью, но с клавиатуры выделение работает. Также как и контекстное меню.
Добавить строки в таблицу можно так:

Код для добавления строк в начало или в конец таблицы будет работать при любом положении курсора. Лишь бы он был в таблице.

4 Ответ от gaara 14.12.2011 12:35:10

  • gaara
  • рядовой
  • Неактивен
  • Зарегистрирован: 13.12.2011
  • Сообщений: 3
Re: При записи макроса не могу добавить строку к таблице

спасибо, помогло smile

Сообщений [ 4 ]

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Похожие темы

При записи макроса не могу добавить строку к таблице

Для грамотной и эффективной работы с программой Microsoft Word (впрочем, как и с любой другой программой), разумеется, нужно знать хотя бы ее базовые основы. Наш сайт о Microsoft Office Word даст ответ про: в ворде скриншоты сделать. Если же в работе возникают проблемы – всегда можно найти помощь и поддержку в интернете. К примеру, если уж речь идет о Microsoft Word, вы можете посетить сайт Ворд Эксперт. Наш сайт о Microsoft Office Word даст ответ про: изменить колонтитулы.

Сайт Ворд Эксперт поможет вам найти выход из любой затруднительной ситуации, возникшей при работе с Word. Наш сайт о Microsoft Office Word даст ответ про: нумерация страниц в ворде кроме первой. В основном разделе сайта вам расскажут все тонкости и секреты работы с программой, предоставят список специально подобранной литературы, ответят на любой вопрос, ознакомят со всей базовой информацией. На портале о Microsoft Office Word вы узнаете про: как в word 2010 выставить шрифт по умолчанию. Вы узнаете, как решить проблемы настроек, редактирования, форматирования, как пишутся макросы и создаются шаблоны. Наш сайт о Microsoft Office Word даст ответ про: в системе недостаточно памяти закройте следующие программы. Для вашего удобства, в отдельном разделе, можно найти ответы на вопросы, которые задаются чаще всего – вам не придется перелопачивать гору литературы. На портале о Microsoft Office Word вы узнаете про: ключи для word 2010 ,tcgkfnyj.

Читайте так же:
Как в excel столбцы перевести в буквы

Если возникнет необходимость в готовой работе – всегда можно обратиться в раздел заказов. Ваш заказ выполнят, учитывая все ваши пожелания и требования. На портале о Microsoft Office Word вы узнаете про: в ворде таблицы поля.

Так же на сайте создан раздел «общение», где вы можете оставлять свои заметки и пожелания по работе сайта, да и просто – свободно пообщаться. На портале о Microsoft Office Word вы узнаете про: гденаходяться указатели в ворде зщувер поинт 2007 год на гиперсылку?.

Макрос добавления строки в excel

Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль

Поиск по форуму
Расширенный поиск
К странице.
Страница 1 из 212Следующая >

Вложения

2012 05 12 для макроса.rar (46.9 Кб, 149 просмотров)
MaxxVer
Посмотреть профиль
Найти ещё сообщения от MaxxVer

А сами что-нибудь пытались сделать?
Судя по файлу XLSX — даже и не пробовали.

Необходимый вам макрос — простейший, за минуту записывается макрорекордером.

__ Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов

EducatedFool
Посмотреть профиль
Найти ещё сообщения от EducatedFool
MaxxVer
Посмотреть профиль
Найти ещё сообщения от MaxxVer
MaxxVer
Посмотреть профиль
Найти ещё сообщения от MaxxVer
IgorGO
Посмотреть профиль
Найти ещё сообщения от IgorGO
MaxxVer
Посмотреть профиль
Найти ещё сообщения от MaxxVer

Т.е. при добавлении копировать. Понятно.
А при стирании?
А если завели с ошибкой? А потом исправили? Неправильно исправили, и переправили?

Может быть делать без изысков — вести одну таблицу/базу, и показывать нужное фильтром?
Можно ещё сводную использовать, или Access подключить с запросами и отчётами, если ИНОГДА нужно показать выборку начальству (хотя изредка можно и вручную скопипастить отфильтрованное, и никого не напрягать (т.е. я думал Access и мозги).

Hugo121
Посмотреть профиль
Найти ещё сообщения от Hugo121
IgorGO
Посмотреть профиль
Найти ещё сообщения от IgorGO

доброго времени суток всем!
Очень помог код от ув. IgorGO( пост 5). Спасибо!
То что искал.
Но как всегда хочется чего то большего.
Вопрос вот в чем.
Как сделать так(добавить к коду), чтобы кликать можно было ни по одной ячейке, а в 1-ом, 2-ом, 4-ом и т.д. столбце(колонке), например.
соответственно и правила менялись — стирались данные в других копируемых ячейках.
И еще, но не обязательно. Как вместо даты поставить формулу.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector