Excel — Копирование ячеек без форматирования/стиля данных

Excel — Копирование ячеек без форматирования/стиля данных

Я пытаюсь скопировать диапазон ячеек из таблицы Excel 2010 и вставить их в таблицу в AutoCAD LT 2016. Моя проблема в том, что Excel применяет информацию о форматировании к каждой ячейке. AutoCAD использует это форматирование для переопределения своих стилей по принципу «ячейка за ячейкой», поэтому моя таблица не соответствует стандартам дизайна.

Я хотел бы удалить все форматирование из файла Excel, как это можно было сделать в Excel <97. Если это невозможно, то если бы была утилита буфера обмена, которая удаляла бы форматирование из таблицы (но оставляла информацию об объединении ячеек), это было бы приемлемой альтернативой.

Я пробовал копировать и вставлять данные из Google Docs и LibreOffice, но AutoCAD интерпретирует объекты буфера обмена по-разному и не создает таблицу из данных при вставке.

Я видел некоторые процедуры LISP, которые очищают это форматирование в AutoCAD, но поскольку мой работодатель использует LT, они мне недоступны.

Есть идеи?

решение1

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

Home > Editing > Clear > Clear Formats

решение2

Дешевый и сердитый обходной путь:

Пробовали ли вы скопировать столбец в Блокнот, а затем скопировать из Блокнота в Autocad?

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

Я предполагаю, что вы уже пробовали "вставить значения" на другой лист, а затем скопировать с этого листа? Если вы это сделаете, то скопируется "calibri, size 10" или какой там установлен стиль Excel по умолчанию вместо обычного текста, или это сработает?

Надеюсь, что-то из этого поможет.

решение3

Если вы хотите удалить все форматы с листа, но сохранить объединение ячеек, то:

  1. скопировать рабочий лист
  2. очистить все форматы в копии(это также приведет к разделению ячеек)
  3. повторно объединить ячейки в копии на основе объединенных ячеек в оригинале

Этот короткий макрос сделает следующее:

Sub qwerty()
   Dim orig As Worksheet, r As Range
   Dim neww As Worksheet
   Set orig = ActiveSheet

   ActiveSheet.Copy After:=Worksheets(Sheets.Count)
   Set neww = ActiveSheet
   Cells.ClearFormats
   For Each r In orig.UsedRange
      If r.MergeArea.Address = r.Address Then
      Else
         neww.Range(r.MergeArea.Address).Merge
      End If
   Next r
End Sub

решение4

  1. Скопировать из Microsoft Excel.
  2. Вставьте в LibreOffice Calc (Специальная вставка -> Неформатированный текст).

Связанный контент