我有一个 MS Excel 2013 电子表格,其中列出了一些参加会议的人员,以及他们在不同选项卡中的地址、电话号码等。现在,我被要求为小册子创建一个制表符分隔的与会者列表。有没有办法可以做到这一点,而不必强迫我重新输入/复制粘贴每一行数据?我只需要姓名列。我希望在 MS Publisher 2013 上准备小册子。任何帮助都将不胜感激。
答案1
从 Excel 中的特定列获取制表符分隔的文本
我要求为宣传册创建一个制表符分隔的与会者列表。有没有办法可以做到这一点,而不必强迫我重新输入/复制粘贴每一行数据?我只需要姓名列。
以下是手动快速执行此操作的步骤记事本++如果你正在寻找一种手动方式来轻松完成此操作而无需代码;另外你的问题text也在标记中。
打开 Excel 电子表格,其中包含您想要从中获取数据值的列(例如名称列)。
单击该列以突出显示所有值,然后按 Ctrl+ C(或右键单击并选择
Copy
)。打开 Notepad++ 和一个新的空白文档,然后按 Ctrl+ V(或右键单击并选择
Paste
)粘贴刚刚复制的列的值。在 Notepad++ 中,粘贴数据值后按 Ctrl+A选择粘贴的所有内容,向上选择
Edit
选择Line Operations
,然后选择Remove Empty Lines (Containing Blank characters)
在 Notepad++ 中,数据值仍然全部突出显示,向上并选择
Edit
选择Blank Operations
,然后选择Trim Leading and Trailing Space
在 Notepad++ 中,数据值仍然全部突出显示,按Ctrl+H转到
Replace
选项卡并输入值,并确保选项被选中,如下所示。按下选项Replace All,这应该会用制表符分隔所有数据值。从那里,您可以将新格式化的值保存为新的文本文档,或者根据需要将该格式(制表符分隔)复制并粘贴到其他应用程序等中(如果适用)。
请注意,我确实对此进行了测试并确认它按预期工作,然后立即返回并将其以制表符分隔的形式导入 Excel,并且所有内容似乎都是制表符分隔的并可正确导入。
截屏
来源: Notepad++ 正则表达式
\n
- LF 控制字符 0x0A(换行符)。这是 Unix 系统下的常规行尾。
\r
- CR 控制字符 0x0D(回车符)。这是 DOS/Windows 行尾序列 CR-LF 的一部分,是 Mac 9 及更早版本中的 EOL 字符。OSX 及更高版本使用 \n。
\t
- TAB 控制字符 0x09(制表符,或硬制表符、水平制表符)。
附加说明
Notepad++还具有Ctrl+A和Ctrl+J功能,但它不会添加制表符来分隔,而是添加空格。我不确定您的“姓名”列是同时包含姓和名还是只有一个姓名,如果需要,您可以用“空格”分隔,这在您的案例中是可行的。
答案2
我假设你有一些编程知识。这样,给定的名称应该可以解释一切。(所以我不会解释如何代码有效。
为了展示使用 VBA 执行此操作的正确方法(并使其可供其他应用程序使用),您可以使用此脚本:
Alt首先通过+打开 VBA 窗口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 更好用,您可以稍后再这样做。:)