从Excel复制粘贴时如何更改定界符?


9

我想从Excel复制单元格,并使用逗号,(而不是制表符)将它们粘贴到记事本中。

是否有任何方法可以更改定界符,而无需在记事本中进行查找和替换或将电子表格另存为CSV?


请参阅我的答案在另一个问题:superuser.com/questions/206060/...
威尔逊

@wilson Stefan询问是否不使用记事本就做这件事,并使用制表符以外的其他东西作为分隔符
Rowland Shaw

1
@RowlandShaw:Stefan说“没有在记事本中进行替换”,而不是“没有记事本”。
卡兰2012年

Answers:


5

我不认为有任何方法可以更改从Excel将文本复制到剪贴板时使用的默认分隔符(即Tab)。但是,您可以做的是创建一个宏以实现所需的结果。

  1. 创建宏名字类似CopySelectedCells并选择指定键盘快捷键,因此您可以快速地调用它(我赋予它Ctrl+ Shift+ C为例):

    1个

  2. 在上面显示的主对话框中,单击“ 编辑”按钮以打开VBA编辑器。

  3. 转到Tools menu / References并单击浏览按钮。

  4. 添加Windows \ System32 \ FM20.dll

    2

  5. 选择现在添加到“ 可用引用”列表中的“ Microsoft Forms 2.0对象库”选项:

    3

  6. 编辑宏代码,如下所示:

    Sub CopySelectedCells()
        Dim str As String
        For Each rangeRow In Selection.Rows
            For Each rangeCol In rangeRow.Cells
                str = str & rangeCol.Value & ","
            Next
            str = Left(str, Len(str) - 1) & vbCrLf
        Next
    
        With New DataObject
            .SetText str
            .PutInClipboard
        End With
    End Sub
    
  7. 关闭VBA编辑器,选择一个单元格区域并调用宏,然后粘贴在记事本中以查看逗号分隔的结果。


0

将未使用的单元格中的所需单元格作为字符串处理,它们之间用逗号隔开,然后仅复制此新单元格并粘贴在记事本中。例如:= A1&“,”&B1


如果有数百列,则concatenate可能不是一个好选择,因为您必须手动选择单元格,并且无法拖动选择要连接的单元格。
Prasanna

-2

您可以在Notepad ++中用逗号替换所有选项卡。选择所有文本,按Ctrl+ H\t用于选项卡。确保打开“扩展”搜索模式。

用逗号替换标签


2
与替换记事本中的选项卡相比,这有什么更好的选择?
卡兰2012年

1
这是一项重大改进,因为它不使用记事本:)
Bill K
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.