Làm cách nào để thay đổi dấu phân cách khi sao chép từ Excel?


9

Tôi muốn sao chép các ô từ Excel và dán chúng vào Notepad bằng dấu phẩy ,là dấu phân cách, thay vì ký tự tab.

Có cách nào để thay đổi dấu phân cách mà không cần tìm và thay thế trong Notepad hoặc lưu bảng tính dưới dạng CSV không?


Tham khảo câu trả lời của tôi trong một câu hỏi khác: superuser.com/questions/206060/ từ
wilson

@wilson Stefan đang hỏi về việc thực hiện nó mà không cần sử dụng Notepad và sử dụng một cái gì đó ngoài tab làm dấu phân cách
Rowland Shaw

1
@RowlandShaw: Stefan nói "không cần thay thế trong Notepad", không phải "không có Notepad".
Karan

Câu trả lời:


5

Tôi không nghĩ có bất kỳ cách nào để thay đổi ký tự dấu phân cách mặc định (tức là Tab) được sử dụng trong khi sao chép văn bản vào bảng tạm từ Excel. Tuy nhiên, những gì bạn có thể làm là tạo một macro để đạt được kết quả mà bạn muốn.

  1. Tạo một macro có tên một cái gì đó như CopySelectedCells và tùy ý gán một phím tắt để bạn có thể gọi nó một cách nhanh chóng ( ví dụ tôi đã gán nó Ctrl+ Shift+ C):

    1

  2. Từ hộp thoại Macro chính được hiển thị ở trên, nhấp vào nút Chỉnh sửa để mở Trình chỉnh sửa VBA.

  3. Đi đến Tools menu / Referencesvà nhấp vào nút Duyệt .

  4. Thêm Windows \ System32 \ FM20.dll :

    2

  5. Chọn tùy chọn Thư viện đối tượng Microsoft Forms 2.0 hiện được thêm vào danh sách Tài liệu tham khảo có sẵn :

    3

  6. Chỉnh sửa mã macro để trông giống như sau:

    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. Đóng Trình chỉnh sửa VBA, chọn một phạm vi ô và gọi macro, sau đó dán vào Notepad để xem kết quả được phân tách bằng dấu phẩy.


0

Liên kết các ô cần thiết dưới dạng chuỗi trong một ô không được sử dụng với dấu phẩy giữa chúng và chỉ sao chép ô mới này và dán vào notepad. Ví dụ: = A1 & "," & B1


Nếu có hàng trăm cột thì concatenatecó thể không phải là một lựa chọn tốt vì bạn phải chọn các ô bằng tay và không thể kéo-chọn các ô sẽ được nối.
Prasanna

-2

Bạn có thể thay thế tất cả các tab bằng dấu phẩy trong Notepad ++. Chọn tất cả văn bản, nhấn Ctrl+ Hvà sử dụng \tcho tab. Hãy chắc chắn bật chế độ tìm kiếm "Mở rộng".

Thay thế các tab bằng dấu phẩy


2
Làm thế nào là tốt hơn so với việc thay thế Tab trong Notepad?
Karan

1
Đó là một cải tiến đáng kể vì nó không sử dụng notepad :)
Bill K
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.