1

У меня есть таблица MS Excel 2013, в которой у меня есть список людей, посещающих конференцию, их адрес, номер телефона и т.д. На разных вкладках. Теперь меня попросили создать список участников с разделителями табуляции для брошюры. Есть ли способ, который может сделать это, не заставляя меня перепечатывать / копировать-вставлять каждую строку данных данных? Мне нужен только столбец имени. Я хочу подготовить брошюру по MS Publisher 2013. Любая помощь будет оценена.

2 ответа2

1

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

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

Вот шаги, чтобы сделать это вручную и быстро с помощью Notepad++ на тот случай, если вам нужен ручной способ выполнить это легко без кода; Кроме того, ваш вопрос также помечен в тексте .

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

  2. Щелкните по этому столбцу, чтобы выделить все значения, а затем нажмите Ctrl+ C (или щелкните правой кнопкой мыши и выберите « Copy).

  3. Откройте Notepad++ и новый новый пустой документ, а затем нажмите Ctrl+ V (или щелкните правой кнопкой мыши и выберите Paste), чтобы вставить значения только что скопированного столбца.

  4. В Notepad++ со вставленными значениями данных нажмите Ctrl+ A, чтобы выделить все, что вы вставили, поднимитесь и выберите « Edit выберите « Line Operations , а затем выберите « Remove Empty Lines (Containing Blank characters)

  5. Из Блокнота ++ со все еще подсвеченными значениями данных поднимитесь и выберите « Edit выберите « Blank Operations затем выберите « Trim Leading and Trailing Space

  6. В Notepad++ со все еще выделенными значениями данных нажмите Ctrl+ H, перейдите на вкладку « Replace » и введите значения и убедитесь, что параметры выбраны так, как показано ниже. Нажмите опцию « Заменить все», и на вкладке должны быть разделены все значения данных.

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

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


Скриншот

Источник: Блокнот ++ Регулярные выражения

\ п

  • Контрольный символ НЧ 0x0A (перевод строки). Это обычный конец строки в системах Unix.

  • Контрольный символ CR 0x0D (возврат каретки). Это часть конца строки строки DOS/Windows CR-LF, которая была символом EOL на Mac 9 и более ранних версиях. OSX и более поздние версии используют \ n.

\ т

  • Управляющий символ TAB 0x09 (вкладка или жесткая вкладка, горизонтальная вкладка).

Дополнительное примечание

В Notepad++ также есть функция Ctrl+ A и Ctrl+ J, но она не добавляет табуляцию к разделителю, а скорее к пробелам. Я не уверен, что ваш столбец "name" - это имя и фамилия, или только одно имя, которое вы можете разделить пробелом, если вам это нужно, и это работает в вашем случае.

1

Я предполагаю, что у вас есть некоторые знания в области программирования. Таким образом, приведенные имена должны все объяснить. (Поэтому я не буду объяснять, как работает код.)

Чтобы показать правильный способ сделать это с помощью VBA (и сделать его доступным для других приложений), вы можете использовать этот скрипт:

Сначала откройте окно VBA с помощью Alt+F11. Затем "Вставить" и "Модуль". Вы можете просто скопировать / вставить код там

Option Explicit
Sub Put_All_Names_to_Clipboard()
  Dim Name_In_Cell As Variant, Name_List As String
  For Each Name_In_Cell In Selection.Value
    If Len(Name_In_Cell) = 0 Then
      Exit For
    ElseIf Len(Name_List) Then
      Name_List = Name_List & vbTab & Name_In_Cell
    Else
      Name_List = Name_In_Cell
    End If
  Next
  Dim Object_For_Clipboard As Object
  Set Object_For_Clipboard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
  Object_For_Clipboard.SetText Name_List
  Object_For_Clipboard.PutInClipboard
  Set Object_For_Clipboard = Nothing
End Sub

Теперь будет помещен разделенный табуляцией список (текстовая строка) всех выбранных значений вызовов (он останавливается на первой пустой ячейке, таким образом, можно свободно выбирать целый столбец). После того, как макрос выполнен, вы можете просто "вставить" строку куда хотите. Тем не менее, я предлагаю вставить его в нужное место прямо в вашем издательском файле, что сохраняет 1 шаг, а также сохраняет ваш буфер обмена в чистоте для других задач.

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

Последний совет: вы также можете создать макрос непосредственно в MS-Publisher и просто "получить" эту строку из файла Excel. Но это то, что вы можете сделать позже, если почувствуете себя лучше с VBA. :)

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