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

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

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

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

Есть идеи?

3 ответа3

1

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

Home > Editing > Clear > Clear Formats

0

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

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

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

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

Надеюсь, что это поможет

0

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

  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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .