Vba удалить столбец в таблице слов
Обновлено: 21.11.2024
Недавно мы показали вам, как скрыть столбцы (и строки), что помогает сделать электронные таблицы более удобочитаемыми. Однако иногда может потребоваться полностью удалить столбец, а не просто скрыть его. В этом посте мы научим вас, как полностью удалить столбцы.
Вы можете захотеть удалить целые столбцы, если они содержат устаревшие данные или неверные формулы. Удаление столбцов также можно использовать для перемещения объектов, например диаграмм, влево по мере исчезновения столбцов. Это может быть применимо, если вы программно создаете диаграмму справа от данных, а затем удаляете все данные. Вместо того, чтобы перемещать диаграмму напрямую, вы можете приблизить ее к левой стороне. Обратите внимание, что при удалении столбцов, содержащих диаграмму, ширина диаграммы будет уменьшена на ширину удаленного столбца, что может привести к полному удалению диаграммы, если под всей диаграммой находится один столбец.
Очистить или удалить
Первый вопрос, который нужно задать перед использованием метода .Delete для столбца (или любого диапазона, на самом деле), заключается в том, может ли .Clear быть более подходящим. Удаление столбцов с большей вероятностью приведет к ошибкам в формулах и непредвиденным последствиям, поскольку объекты и данные смещаются влево по листу.
Метод VBA Clear можно применять к данным, формулам или форматированию по отдельности, тогда как удаление просто удаляет все следы этого столбца, его данные, его форматирование и любые ссылки на него. Более того, очистка исходных данных не изменит масштаб диаграммы, а удаление исходного столбца уничтожит основной ряд для диаграммы и может привести к нежелательным результатам.
Во многих случаях .Clear сделает то, что вам нужно, и с меньшей вероятностью нанесет ущерб вашему листу. Тем не менее, .Delete имеет правомерное использование, и, безусловно, есть несколько ситуаций, в которых предпочтение отдается удалению столбца, а не его очистке. Одним из таких случаев может быть удаление всех промежуточных столбцов перед отправкой окончательных результатов клиенту.
Удаление одного столбца
Важно понимать разницу между одним объектом Column и набором объектов Column. Термин «Столбец» в единственном числе относится к одному столбцу, а «Столбцы» во множественном числе относится к набору всех столбцов на любом конкретном листе. Чтобы сослаться на любой столбец, необходимо указать его индекс в коллекции. Логически индекс в коллекции соответствует месту на странице, поэтому столбец C , третий столбец, будет иметь индекс 3 .
Таким образом, чтобы удалить один столбец, скажем, столбец Z, 26-й столбец, просто укажите его в коллекции и используйте метод .Delete:
К счастью, вам не нужно преобразовывать буквы столбцов в числа каждый раз, когда вы хотите удалить столбец. Также можно сослаться на столбец 26 по связанной с ним букве:
Создавайте мощные макросы с помощью нашего бесплатного комплекта разработчика VBA
Такой макрос легко скопировать и вставить, но создать его самостоятельно сложнее. Чтобы помочь вам создавать макросы, подобные этому, мы создали бесплатный комплект разработчика VBA и написали Большую книгу макросов Excel VBA, полную сотен готовых макросов, которые помогут вам освоить файловый ввод-вывод, массивы, строки и многое другое. скопируйте ниже.
Удаление нескольких столбцов
Поскольку ссылка на индекс в коллекции Columns указывает на один объект Column, мы не можем использовать один индекс для ссылки более чем на один столбец. Разделение индексов запятой вызовет ошибку:
Сообщение об ошибке при попытке разделить столбцы запятыми
Существует два способа сослаться на более чем один столбец для удаления: один — использовать стиль буквенной ссылки, а другой — создать всеобъемлющий объект диапазона.
Стиль буквенной ссылки
Это самый быстрый способ, если вы точно знаете, какие столбцы нужно удалить, столбцы являются смежными и их не нужно программно изменять. Изменить столбец с буквенной ссылкой с помощью VBA не так просто, как изменить столбец с числовой ссылкой. Однако, если у вас есть определенный диапазон, который всегда нужно удалять, довольно просто жестко закодировать стиль буквенных ссылок столбцов:
Построить диапазон
Если вам нужно программно определить столбцы для удаления, не очень полезно жестко кодировать столбцы в стиле буквенной ссылки. В этом случае лучше использовать стиль числовой ссылки. Однако вы не можете просто перечислить номера столбцов в вызове коллекции Columns, так как это приводит к указанной выше ошибке. Вместо этого вы должны создать диапазон и вызвать .Delete для этого диапазона.
Чтобы построить диапазон, просто оберните объекты Column строкой Range:
где firstColumn и lastColumn — целые числа, которые необходимо установить перед обработкой этой строки.
Range() всегда охватывает всю область, поэтому, если вам нужно удалить столбцы с 1 по 3 и столбцы с 6 по 8, вам понадобятся два объекта Range, один для первого набора и один для второго комплекта. Вы можете комбинировать диапазоны с помощью VBA Union, чтобы ваш код по-прежнему можно было написать одной строкой, например:
Команда Union — это способ удаления несмежных столбцов с помощью VBA.
Необязательный параметр сдвига
Для метода .Delete существует необязательный параметр: [Shift] . Когда определенная ячейка удаляется, окружающие ячейки должны либо сместиться вверх, чтобы заполнить пространство, либо влево, чтобы заполнить пространство. Например, если ячейка B3 удалена, либо ячейки в столбце B должны сместиться вверх, либо ячейки в строке 3 должны сместиться влево. В этом случае программист может выбрать, что произойдет с xlShiftUp и xlShiftToLeft .
Однако для Columns().Delete это не имеет значения. Поскольку удаляется весь столбец, единственный вариант для Excel — сдвинуть остальные столбцы за ним влево. Таким образом, когда вы удаляете столбец (или строку), нет необходимости назначать значение для Shift .
Что происходит со ссылками
Эта проблема со ссылками также возникает с диаграммами. Если столбцы, связанные с диаграммой, удалены, повторно заполнить диаграмму невозможно, поскольку исходные столбцы больше не существуют, а исходный ряд невозможно восстановить.
Суть в том, что вы должны проявлять осторожность при использовании .Delete . Вы не хотите уничтожать книгу из 10 листов и должны проходить процесс восстановления файлов, скрестив пальцы.
Чтобы узнать больше советов по VBA, подобных этому, подпишитесь, заполнив форму ниже.
Готовы делать больше с VBA?
Мы собрали гигантский PDF-файл с более чем 300 готовыми макросами и хотим, чтобы вы получили его бесплатно. Введите свой адрес электронной почты ниже, и мы вышлем вам копию вместе с нашим комплектом разработчика VBA, полным советов, приемов и ярлыков VBA.
Прежде чем мы начнем, я хочу сообщить вам, что мы разработали набор шпаргалок по VBA, чтобы вам было проще писать лучшие макросы. Мы включили более 200 советов и 140 примеров макросов, поэтому в них есть все, что вам нужно знать, чтобы стать лучшим программистом VBA.
Эта статья была написана Кори Сарвером, автором статей для блога VBA Tutorials. Посетите его в LinkedIn и на его личной странице.
VBA Удалить столбец из таблицы в Excel
VBA Удалить столбец из таблицы в Excel. Мы можем удалить или удалить один столбец или несколько столбцов из таблицы в любой позиции. Первые столбцы по умолчанию удалены из таблицы. В этом уроке мы объяснили несколько примеров с объяснением. Мы также показали примеры выходных скриншотов. Мы указали два примера в следующем руководстве. Вы можете изменить имя таблицы и листа в соответствии с вашими требованиями. Мы также указали пошаговые инструкции по запуску кода макроса VBA в конце сеанса.
Синтаксис для удаления столбца из таблицы с помощью VBA в Excel
Вот синтаксис для удаления столбца из таблицы на листе с помощью VBA в Excel.
Где Number содержит целочисленный тип данных. Это обязательный аргумент. Представляет номер столбца для удаления.
Пример удаления первого столбца из таблицы на рабочем листе
Давайте рассмотрим пример удаления столбца из таблицы на листе. Имя листа определено как «Таблица». И мы используем имя таблицы как «MyTable1». Вы можете изменить эти два в соответствии с вашими требованиями. Удаляем метод объекта ListObject.
Выходные данные. На следующем снимке экрана приведен приведенный выше пример кода макроса VBA.
Удалить четвертый столбец из таблицы на рабочем листе
Давайте рассмотрим пример удаления четвертого столбца из таблицы на рабочем листе. Разница между процедурой выше и ниже заключается в изменении номера столбца.
Удалить несколько столбцов из таблицы в Excel с помощью VBA
Вот еще один пример удаления нескольких столбцов из таблицы. В этом примере мы удаляем три (3) столбца из таблицы. Вы можете указать количество столбцов в цикле for.
Выходные данные: давайте посмотрим на следующий скриншот вывода вышеприведенного кода макроса VBA.
Инструкции по использованию примера кода макроса
Вы можете следовать пошаговым инструкциям, чтобы запустить приведенный выше код макроса VBA.
- Откройте редактор Visual Basic (VBE), нажав Alt +F11.
- Перейдите в окно кода, нажав F7.
- Копировать указанный выше макрос или процедуру
- Вставьте скопированный код в окно кода в базовом визуальном редакторе (VBE).
- Запустите макрос, нажав F5 или команду "Выполнить".
- Разницу между макросом до и после см. на выходном снимке экрана.
Другие ссылки по теме
Нажмите на следующие ссылки, чтобы просмотреть соответствующие справочные статьи. Это поможет вам в справке.
Оставить комментарий Отменить ответ
Вы должны войти в систему, чтобы оставить комментарий.
Вопросы и ответы на собеседовании по Excel VBA
Функции VBA по категориям
Шаблоны управления проектами
Пакет профессиональных шаблонов PM
Учебное пособие по VBA
Последние публикации
Программирование VBA
Категории
Создавайте профессиональные инструменты и приложения автоматизации для своих проектов с помощью наших готовых к использованию кодов и приложений VBA.
Класс Table представляет собой одну таблицу. Объект Table является членом коллекции Tables. Коллекция Tables включает все таблицы в указанном выделении, диапазоне или документе.
Классы Range и Selection. предоставить доступ к таблице классов
Чтобы использовать переменную класса Table, сначала необходимо создать ее экземпляр, например
Для установки переменных типа Table можно использовать следующие процедуры: Range.ConvertToTable, Selection.ConvertToTable, Split, Tables.Add и Tables.Item.
Для каждого
Вот пример обработки элементов таблицы в коллекции.
Методы
– Применяет указанный стиль, но сохраняет любое форматирование, применяемое непосредственно пользователем.
– определяет, как Microsoft Word изменяет размер таблицы при использовании функции автоподбора.
– Применяет предопределенный вид к таблице.
- возвращает объект Cell, представляющий ячейку в таблице.
– Преобразует таблицу в текст и возвращает объект Range, представляющий текст с разделителями.
- удаляет указанную таблицу.
- выбирает указанную таблицу.
- Сортирует указанную таблицу.
– сортирует абзацы или строки таблицы в возрастающем алфавитно-цифровом порядке.
– сортирует строки таблицы в алфавитно-цифровом порядке по убыванию.
– вставляет пустой абзац непосредственно над указанной строкой в таблицу и возвращает объект Table, содержащий как указанную строку, так и следующие за ней строки.
- Обновляет таблицу с характеристиками предопределенного формата таблицы.
Свойства
(Член по умолчанию) — возвращает объект Range, представляющий часть документа, содержащуюся в указанной таблице.
позволяет Microsoft Word автоматически изменять размер ячеек в таблице в соответствии с их содержимым.
возвращает или задает логическое значение, указывающее, следует ли применять полосы стилей к столбцам в таблице, если примененный предустановленный стиль таблицы обеспечивает полосу стилей для столбцов.
true для Microsoft Word, чтобы применить форматирование первого столбца к первому столбцу указанной таблицы.
true для Microsoft Word, чтобы применить форматирование строки заголовка к первой строке выбранной таблицы.
true для Microsoft Word, чтобы применить форматирование последнего столбца к последнему столбцу указанной таблицы.
true для Microsoft Word, чтобы применить форматирование последней строки к последней строке указанной таблицы.
возвращает или задает логическое значение, указывающее, следует ли применять полосы стилей к строкам в таблице, если примененный предустановленный стиль таблицы обеспечивает полосу стилей для строк.
возвращает тип автоматического форматирования, примененного к указанной таблице.
возвращает коллекцию Borders, которая представляет все границы указанного объекта.
возвращает или задает количество места (в пунктах), которое добавляется под содержимым одной ячейки или всех ячеек в таблице.
возвращает коллекцию Columns, которая представляет все столбцы таблицы в таблице.
возвращает или задает строку, содержащую описание указанной таблицы.
возвращает или задает идентификационную метку для указанной таблицы, когда документ сохраняется как веб-страница.
возвращает или задает количество места (в пунктах), которое добавляется слева от содержимого всех ячеек в таблице.
возвращает уровень вложенности указанной таблицы.
возвращает или задает предпочтительную ширину (в пунктах или в процентах от ширины окна) для указанной таблицы.
возвращает или задает предпочтительную единицу измерения ширины указанной таблицы.
возвращает или задает количество места (в пунктах), которое нужно добавить справа от содержимого всех ячеек в таблице.
возвращает коллекцию Rows, которая представляет все строки таблицы в таблице.
возвращает объект Shading, который ссылается на форматирование затенения для указанного объекта.
возвращает или задает расстояние (в пунктах) между ячейками в таблице.
возвращает или задает стиль для указанной таблицы. Чтение/запись варианта.
возвращает или задает направление, в котором Microsoft Word упорядочивает ячейки в указанной таблице.
возвращает коллекцию Tables, которая представляет все таблицы, вложенные в указанную таблицу.
возвращает или задает строку, содержащую заголовок указанной таблицы.
возвращает или задает количество места (в пунктах), которое нужно добавить над содержимым всех ячеек таблицы.
true, если все строки в таблице имеют одинаковое количество столбцов.
Связанные классы
– Набор объектов Border, представляющих границы объекта.
— представляет одну ячейку таблицы. Объект Cell является членом коллекции Cells. Коллекция Cells представляет все ячейки указанного объекта.
– Коллекция объектов Column, представляющих столбцы в таблице.
— представляет непрерывную область в документе. Каждый объект Range определяется начальной и конечной позицией символа.
– Коллекция объектов Row, представляющих строки таблицы в указанном выделении, диапазоне или таблице.
– содержит атрибуты затенения объекта.
– представляет один встроенный или определенный пользователем стиль. Объект Style включает атрибуты стиля (такие как шрифт, стиль шрифта и расстояние между абзацами) в качестве свойств объекта Style. Объект Style является членом коллекции Styles. Коллекция Styles включает все стили в указанном документе.
– Коллекция объектов Table, представляющих таблицы в выделении, диапазоне или документе.
Когда вы начинаете вводить данные в таблицу в Microsoft Word, у вас уже может быть хорошее представление об информации, которую вы будете включать. Это часто связано с макетом таблицы, и вы могли выбрать количество строк и столбцов, которое, по вашему мнению, потребуется для вашей таблицы. Но когда вы завершаете ввод данных этой таблицы, вы можете обнаружить, что вам нужно знать, как удалить столбец из таблицы, потому что ваш макет включает больше столбцов, чем вам нужно.
Таблицы — это эффективный способ представления данных, и их довольно просто использовать в Microsoft Word 2010. Но если вы импортируете таблицу из другой программы или вам нужно внести структурные изменения в таблицу, это может произойти не сразу. очевидно, как это сделать.
К счастью, Word 2010 включает в себя несколько конкретных меню с параметрами, которые управляют аспектами макета и дизайна вашей таблицы, что делает процесс удаления столбца из таблицы, вставленной в документ, относительно простым.
Как удалить столбец таблицы в Word 2010
- Откройте документ.
- Нажмите в столбце, чтобы удалить его.
- Выберите вкладку "Макет таблиц".
- Нажмите «Удалить», затем «Удалить столбцы».
Наше руководство продолжается ниже с дополнительной информацией об удалении столбца из таблицы в Word, включая изображения этих шагов.
Как удалить столбец из таблицы в Word 2010 (руководство с иллюстрациями)
Эта статья специально посвящена удалению столбца из таблицы, вставленной в документ Word. Если вы хотите удалить столбец, не являющийся частью таблицы, из документа Word, вы можете прочитать эту статью. Но если вы изменяете структуру таблицы Word, вы можете выполнить описанные ниже действия.
Шаг 1. Откройте документ в Word 2010.
Шаг 2. Щелкните внутри столбца таблицы, который вы хотите удалить.
На изображении ниже я хочу удалить столбец 5.
Шаг 3. Перейдите на вкладку «Макет» в разделе «Работа с таблицами» в верхней части окна.
Шаг 4. Нажмите кнопку «Удалить» на ленте, затем выберите параметр «Удалить столбцы».
Наше руководство продолжается ниже с дополнительным обсуждением удаления столбцов таблицы Word.
Как удалить столбец в Word
Хотя основное внимание в этой статье уделяется удалению столбцов из таблиц, вас также может заинтересовать удаление столбца из Microsoft Word.
По умолчанию документ в Word будет иметь один столбец.Вы можете даже не думать о столбцах при работе с обычным документом Word, но технически документ состоит из одного столбца, занимающего всю ширину страницы.
Если вы добавили один или несколько дополнительных столбцов, например, если вы пишете статью для периодического издания или создаете информационный бюллетень для организации, вы можете решить, что в конечном итоге хотите удалить этот столбец.
Вы можете удалить столбец в Word, выбрав вкладку «Макет» в верхней части окна, нажав кнопку «Столбцы», а затем выбрав количество столбцов, которое хотя бы на один меньше текущего количества столбцов.
Например, если в вашем документе сейчас два столбца, но вам нужен только один столбец, выберите Макет > Столбцы > Один.
Можно ли удалить несколько столбцов из существующей таблицы в Microsoft Word?
Хотя это руководство включает в себя удаление одного ненужного столбца из таблицы Microsoft Word, эти же шаги можно использовать для удаления одного или нескольких столбцов из этой таблицы.
Приведенная выше процедура удаления столбца, в которой вы удаляете один столбец таблицы, просто требует, чтобы вы вместо этого выбрали столбцы, которые хотите удалить. Это может означать, что вы выбираете каждую ячейку в каждом из этих столбцов или можете просто выбрать хотя бы одну ячейку в каждом столбце, которую хотите удалить из таблицы.
Открыв раскрывающееся меню "Удалить" на вкладке "Макет таблицы" и выбрав параметр "Удалить столбцы", вы сообщаете Microsoft Word, что хотите удалить весь столбец для каждой выбранной ячейки.
Дополнительная информация о том, как удалить столбец из таблицы в Word 2010
Вышеописанные действия посвящены удалению столбцов из таблиц, которые вы вставили в документ Word.
Как видно из раскрывающегося меню, которое появляется при нажатии кнопки "Удалить", вы также можете удалить из документа другие элементы таблицы. Сюда входят:
- Удалить ячейки
- Удалить столбцы
- Удалить строки
- Удалить таблицы
Еще один способ удалить столбец или столбцы в таблицах Microsoft Word — выбрать все ячейки в столбцах, которые вы хотите удалить, затем щелкнуть правой кнопкой мыши одну из выбранных ячеек и выбрать параметр "Удалить столбцы". . Если вы не выбрали каждую ячейку в столбце, вместо этого будет опция «Удалить ячейки», которую вы можете щелкнуть, а затем выбрать, как вы хотите, чтобы Word выровнял оставшиеся ячейки таблицы.
Вы можете повторить этот процесс для любых других столбцов, которые хотите удалить из таблицы Word.
То же меню, где вы нашли команду для удаления столбцов, также содержит параметры для добавления столбцов. Если щелкнуть внутри столбца слева или справа от того места, где вы хотите добавить новый столбец, вы можете выбрать параметр «Вставить слева» или «Вставить справа» в группе «Строки и столбцы» на ленте вкладки макета «Работа с таблицами».
Ваша таблица выглядит странно после того, как вы удалили пару столбцов? Узнайте, как центрировать таблицу в Word 2010, чтобы улучшить внешний вид таблицы меньшего размера на странице.
Дополнительные источники
Мэттью Берли пишет учебные пособия по технологиям с 2008 года. Его тексты появились на десятках различных веб-сайтов и были прочитаны более 50 миллионов раз.
После получения степени бакалавра и магистра компьютерных наук он несколько лет работал в сфере управления ИТ для малого бизнеса. Однако теперь он работает полный рабочий день, создавая онлайн-контент и веб-сайты.
Его основные темы написания включают iPhone, Microsoft Office, Google Apps, Android и Photoshop, но он также писал и на многие другие технические темы.
Читайте также: