Câu hỏi Chuyển cột thành hàng trong khi nhập vào Excel


Tôi có một tập tin văn bản với nhiều cột hơn trong nó hơn được cho phép trong Excel, vì vậy tôi muốn chuyển dữ liệu thành các cột trong khi nhập nó vào Excel. Bất kỳ ý tưởng về cách tôi có thể làm điều này?


0
2017-11-09 19:03


gốc




Các câu trả lời:


CHỈNH SỬA tìm thấy một cách tốt hơn, để cập nhật mã

Có lẽ tốt nhất để viết một macro VBA để làm việc nhập khẩu.

Đây là một khởi đầu cho bạn. Lưu ý rằng nó sẽ cần một số điều chỉnh cho phù hợp với dữ liệu của bạn.

Sub ImportTranspose()
    Dim fso As New FileSystemObject
    Dim txtFile As TextStream
    Dim col As Long
    Dim dat As Variant
    Dim sh As Worksheet

    Set sh = ActiveSheet
    Set txtFile = fso.OpenTextFile("C:\Tmp\SampleData.txt")
    col = 1
    Do While Not txtFile.AtEndOfStream
        dat = Application.Transpose(Application.Index(Split(txtFile.ReadLine, ","), 1, 0))
        sh.Cells(1, col).Resize(UBound(dat), 1) = dat
        col = col + 1
    Loop

CleanUp:
    On Error Resume Next
    txtFile.Close
    Set txtFile = Nothing
    Set fso = Nothing
End Sub

Ghi chú:

  1. Nó giả định rằng tất cả các hàng trong tệp dữ liệu được phân cách bằng dấu phẩy
  2. Không bao gồm xử lý lỗi
  3. Đặt dữ liệu vào trang tính đang hoạt động, bắt đầu từ ô A1 và ghi đè bất kỳ dữ liệu hiện có nào
  4. Tên tệp và vị trí được mã hóa cứng - thay đổi cho phù hợp hoặc thêm hộp thoại GetFile

1
2017-11-10 05:23