Làm việc với mảng: WorkSheetFunction.Transpose(TenMang) làm thay đôi gia trị của ô

Liên hệ QC

tungson_mrcc

Thành viên hoạt động
Tham gia
25/4/07
Bài viết
108
Được thích
72
Xin chào mọi người,
Tôi có 1 số dữ liệu như trong file đính kèm.
Khi thực hiện chuyển đổi hàng sang cột ( và ngược lại) bằng WorksheetFunction.Transpose(TenMang) thì các ô dạng ngày và các ô dạng số đinh dạng theo kiểu text bị thay đổi giá trị. Xin xem file đính kèm để cụ thể hơn.
Xin hỏi có hàm mảng nào cho phép chuyển đổi từ hàng sang cột mà không làm ảnh hưởng tới giá trị của ô như vấn đề tôi dang gặp không?

Xin chân thành cảm ơn.
 

File đính kèm

  • HoiVe_Array_Transpose.xls
    34.5 KB · Đọc: 4
Xin chào mọi người,
Tôi có 1 số dữ liệu như trong file đính kèm.
Khi thực hiện chuyển đổi hàng sang cột ( và ngược lại) bằng WorksheetFunction.Transpose(TenMang) thì các ô dạng ngày và các ô dạng số đinh dạng theo kiểu text bị thay đổi giá trị. Xin xem file đính kèm để cụ thể hơn.
Xin hỏi có hàm mảng nào cho phép chuyển đổi từ hàng sang cột mà không làm ảnh hưởng tới giá trị của ô như vấn đề tôi dang gặp không?

Xin chân thành cảm ơn.

Uh! WorksheetFunction.Transpose nó vậy đấy, nói chung là không tin tưởng được. Bạn cứ PasteSpecial/Transpose đi cho chắc
Nếu không muốn PasteSpecial/Transpose mà muốn dùng hàm tự tạo thì bạn phải dùng vòng lập lấy dữ liệu rồi tùy chỉnh riêng cho từng kiểu dữ liệu
 
Lần chỉnh sửa cuối:
Chào thày NDU,
tôi có code như sau.
Chỉ là băn khoăn xem có cách nào nhanh hơn nữa không?

Public Function TransposeArray(myarray As Variant) As Variant
Dim X As Long
Dim Y As Long
Dim Xupper As Long
Dim Yupper As Long
Dim tempArray As Variant
Xupper = UBound(myarray, 2)
Yupper = UBound(myarray, 1)
ReDim tempArray(Xupper, Yupper)
For X = 0 To Xupper
For Y = 0 To Yupper
tempArray(X, Y) = myarray(Y, X)
Next Y
Next X
TransposeArray = tempArray
End Function
 
Web KT

Bài viết mới nhất

Back
Top Bottom