Chuyển nhiều cột thành 1 ô

Liên hệ QC

luonghoanghr

Thành viên mới
Tham gia
22/1/13
Bài viết
29
Được thích
1
Kg các Anh Chị,

Em muốn chuyển dữ liệu đang ở các cột vào 1 ô như file đính kèm

Kính mong các Anh/Chị giúp đỡ
 

File đính kèm

Nội dụng bài viết và cả tiêu đề đều phải được viết bằng TIẾNG VIỆT CÓ DẤU
Lần này tôi sửa tiêu đề cho bạn. Lần sau cẩn thận hơn nha (nếu không muốn bị xóa bài)
------------------------------------
Kg các Anh Chị,

Em muốn chuyển dữ liệu đang ở các cột vào 1 ô như file đính kèm

Kính mong các Anh/Chị giúp đỡ
Xem file tôi không tìm được mối liên hệ nào giữa dữ liệu trước khi chuyển và sau khi chuyển cả
Cái dữ liệu sau khi chuyển ấy tự bạn gõ đại vào à?
 
Kg các Anh Chị,

Em muốn chuyển dữ liệu đang ở các cột vào 1 ô như file đính kèm

Kính mong các Anh/Chị giúp đỡ

PHP:
Public Function Chuyen(Vung1 As Range, Vung2 As Range) As String
Dim i As Long, Temp1(), Temp2(), Result
Temp1 = Vung1.Value: Temp2 = Vung2.Value
For i = 1 To UBound(Temp1, 2)
   Result = Result & vbLf & Vung1(1, i) & ": " & Vung2(1, i)
Next
Result = Replace(Result, vbLf, "", , 1)
Chuyen = Result
End Function

Cú pháp
=chuyen($A$1:$H$1,A2:H2)
Kết quả sẽ do bạn tự quyết đinh tại dòng tiêu đề. Đừng thắc mắc thêm nha.
 
PHP:
Public Function Chuyen(Vung1 As Range, Vung2 As Range) As String
Dim i As Long, Temp1(), Temp2(), Result
Temp1 = Vung1.Value: Temp2 = Vung2.Value
For i = 1 To UBound(Temp1, 2)
   Result = Result & vbLf & Vung1(1, i) & ": " & Vung2(1, i)
Next
Result = Replace(Result, vbLf, "", , 1)
Chuyen = Result
End Function

Cú pháp
=chuyen($A$1:$H$1,A2:H2)
Kết quả sẽ do bạn tự quyết đinh tại dòng tiêu đề. Đừng thắc mắc thêm nha.

Nếu code của quanghai1969 là đúng ý tác giả thì tôi sẽ dùng hàm JoinText (tổng quát, áp dụng cho mọi bài toán nối chuổi)
Mã:
Function JoinText(ByVal Delimiter As String, ByVal IgnoreBlanks As Boolean, ParamArray Arrays()) As String
  Dim aTmp, Arr(), Item, tmp As String
  Dim i As Long, n As Long
  'On Error Resume Next
  For i = LBound(Arrays) To UBound(Arrays)
    aTmp = Arrays(i)
    If Not IsArray(aTmp) Then aTmp = Array(aTmp)
    For Each Item In aTmp
      tmp = IIf(TypeName(Item) = "Error", "", Trim(CStr(Item)))
      If IgnoreBlanks = False Or Len(tmp) Then
        n = n + 1
        ReDim Preserve Arr(1 To n)
        Arr(n) = tmp
      End If
    Next
  Next
  If n Then JoinText = Join(Arr, Delimiter)
End Function
Công thức trên bảng tính:
Mã:
=JoinText(CHAR(10),TRUE,$A$1:$H$1&": "&A2:H2)
Công thức mảng, kết thúc bằng Ctrl + Shift + Enter
 

File đính kèm

Em cảm ơn các Anh/Chị!

Em down load file đính kèm về nhưng khi kết thúc bằng Ctrl + Shift + Enter thì lại báo lỗi #NAME? là sao ạ?
 
Em cảm ơn các Anh/Chị!

Em down load file đính kèm về nhưng khi kết thúc bằng Ctrl + Shift + Enter thì lại báo lỗi #NAME? là sao ạ?

Có nghĩa là máy bạn chưa Enable Macros
Để biết cách nào Enable Macros, search tìm trên GPE, đã nói nhiều lần rồi
 
Web KT

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

Back
Top Bottom