Tích hợp dữ liệu cột thành dòng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

HiLander

Thành viên chính thức
Tham gia
18/5/09
Bài viết
64
Được thích
4
Chào các Anh/Chị,

Anh/Chị hướng dẫn giúp công thức tích hợp dữ liệu cột thành dòng như file đính kèm

cảm ơn Anh/Chị nhiều
 

File đính kèm

File đính kèm

Chào bạn ♫ђöล♥ßล†♥†µ♫,

Cảm ơn bạn nhiều,

Chúc bạn cuối tuần vui vẻ!

Bài đã được tự động gộp:

Chào bạn ♫ђöล♥ßล†♥†µ♫,
Bạn giúp mình tổng hộp dữ liệu từ nhiều sheet thành 1 sheet với. Thường thì mình copy sao đó dán thành 1 sheet tổng nên tốn quá nhiều thời gian

Cảm ơn bạn nhiều

Chúc bạn cuối tuần vui vẻ!
 

File đính kèm

Lần chỉnh sửa cuối:
Chào bạn ♫ђöล♥ßล†♥†µ♫,

Cảm ơn bạn nhiều,

Chúc bạn cuối tuần vui vẻ!
Bài đã được tự động gộp:

Chào bạn ♫ђöล♥ßล†♥†µ♫,
Bạn giúp mình tổng hộp dữ liệu từ nhiều sheet thành 1 sheet với. Thường thì mình copy sao đó dán thành 1 sheet tổng nên tốn quá nhiều thời gian

Cảm ơn bạn nhiều

Chúc bạn cuối tuần vui vẻ!
Sao để cái chữ nóa toa thế :p
 

File đính kèm

Chào bạn,

Cảm ơn bạn nhiều,

bạn cho mình hỏi thêm là có giới hạn số dòng trong các sheet không vậy bạn?

cảm ơn!
Bài đã được tự động gộp:

À xin lỗi cho mình hỏi thêm lần nữa

hiện tại thì chỉ có 8 sheet thôi. Nếu mình thêm sheet nữa thì macro có chạy được không bạn

cảm ơn bạn nhiều
 
Chào bạn,

Cảm ơn bạn nhiều,

bạn cho mình hỏi thêm là có giới hạn số dòng trong các sheet không vậy bạn?

cảm ơn!
Bài đã được tự động gộp:

À xin lỗi cho mình hỏi thêm lần nữa

hiện tại thì chỉ có 8 sheet thôi. Nếu mình thêm sheet nữa thì macro có chạy được không bạn

cảm ơn bạn nhiều
À. Chết rồi quên mất cái này :eek:. Bạn lấy Code này thay cho Code Cũ
PHP:
Sub TonghopDL()
    Dim Ws As Worksheet, sArr(),  aRes, Er As Long
Application.ScreenUpdating = False
For Each Ws In Worksheets
    If Ws.Name <> "Tonghop" Then
        With Ws
            sArr = .Range("A3", .Range("A" & Rows.Count).End(xlUp)).Resize(, 15).Value
        End With
        If Not IsArray(aRes) Then
            aRes = Join2DArray(sArr)            '*
        Else
            aRes = Join2DArray(aRes, sArr)      '*
        End If
    End If
Next
If UBound(aRes) < Rows.Count - 3 Then
    With Sheets("Tonghop")
        Er = .Range("A" & Rows.Count).End(xlUp).Row
        If Er > 2 Then
            .Range("A3", .Range("A" & Er)).Resize(, 15).ClearContents
            .Range("A3").Resize(UBound(aRes, 1), 15).Borders.LineStyle = xlNone
        End If
        .Range("A3").Resize(UBound(aRes), UBound(aRes, 2)).Value = aRes
        .Range("A3").Resize(UBound(aRes), UBound(aRes, 2)).Borders.LineStyle = xlContinuous
        .Range("A3").Resize(UBound(aRes), UBound(aRes, 2)).Borders(xlInsideHorizontal).Weight = xlHairline
    End With
Else
    MsgBox "So dong nhieu hon dong bang tinh"
End If
Application.ScreenUpdating = True
End Sub
 
cảm ơn bạn nhiều. cái này cập nhật cho nhiều dòng và nhiều sheet luôn hả bạn
 
Tên đăng nhập là Hilander bình thường mà bạn
max dòng là : 1048573 dòng
còn sheet thì sao bạn ???

mình tính add thêm vài sheet nữa thì có chạy được không bạn ?

cảm ơn bạn!
 
À, mình nói thật nó. Mình đăng ký lâu rồi. Mình cũng không biết sao nữa. Mình đâu có ý nghĩ là bạn nói tên mình đẹp hay xấu đâu.
mà bạn ơi mình copy code mới không chạy được. Bạn copy lên file góc test giúp mình đi

cảm ơn bạn nhiều
 
Tôi có nói là tên bạn xấu đâu. Ý tôi thắc mắt tại đây là GPE cho phép đặt tên đăng nhập có dấu & ký tự đặc biệt như vậy.
Mỗi lần đăng nhập phải gõ đầy đủ hay sao? Hay là tên này chỉ là tên hiển thị?

Ghi chú: tôi hỏi thật chứ không phải chơi nha!
Nội quy như vầy Nick đăng ký không được có các ký tự đặc biệt như * / \ ? : " ( ) mà Anh. Ký tự của em không nằm trong điều cấm mà
Bài đã được tự động gộp:

À, mình nói thật nó. Mình đăng ký lâu rồi. Mình cũng không biết sao nữa. Mình đâu có ý nghĩ là bạn nói tên mình đẹp hay xấu đâu.
mà bạn ơi mình copy code mới không chạy được. Bạn copy lên file góc test giúp mình đi

cảm ơn bạn nhiều
À, mình nói thật nó. Mình đăng ký lâu rồi. Mình cũng không biết sao nữa. Mình đâu có ý nghĩ là bạn nói tên mình đẹp hay xấu đâu.
mà bạn ơi mình copy code mới không chạy được. Bạn copy lên file góc test giúp mình đi

cảm ơn bạn nhiều
Anh @hpkhuong đang nói em mà. Đâu có nói Anh đâu. Anh nhận vơ rùi :p:p:p
 
sorry mình sai rồi. Mình không biết VBA nên bạn gửi link tham khảo mình cũng bó tay luôn.

bạn giúp mình pass code mới vào file rồi test dùm mình với

cảm ơn bạn nha!
 
Mỗi lần đăng nhập phải gõ đầy đủ hay sao? Hay là tên này chỉ là tên hiển thị?

Ghi chú: tôi hỏi thật chứ không phải chơi nha!
Diễn đàn có 2 kiểu đăng nhập anh ạ
Cách 1. Đăng nhập theo tên hiển thị
Cách 2. Đăng nhập theo địa chỉ mail
Em đang đăng ngập theo cách 2
 
Bị như vầy là sao bạn ơi !SnapCrab_NoName_2018-9-15_12-22-53_No-00.png
 

File đính kèm

Bạn ơi,

cái file của Thầy NDu "Cái này cũng là công thức ý nha (Nhưng nó là công thức của Thầy NDu) :p"
mình chạy nó báo lỗi có thể là quá nhiều dòng

bạn có thể giúp mình chỉnh sửa lại với

cảm ơn bạn
 

File đính kèm

Chào bạn,

bạn giúp mình cái bảng tích hợp với.
code của bạn giớ hạn dòng hay sao ấy nên khi mình áp nhiều code nó bị lỗi không chạy được
bạn giúp mình với
 

File đính kèm

Chào bạn,

bạn giúp mình cái bảng tích hợp với.
code của bạn giớ hạn dòng hay sao ấy nên khi mình áp nhiều code nó bị lỗi không chạy được
bạn giúp mình với
Không phải Code lỗi đâu. Với dữ liệu 153.843 dòng như trong ví dụ mà dùng hàm tự tạo thì nó bị treo máy tẹo thôi.
Vậy nhà mình chuyển sang dùng Sub thử
 

File đính kèm

File đính kèm

Khi bấm run hiện hộp thoại chọn ô thì làm sao bạn ơi
 

File đính kèm

Lần chỉnh sửa cuối:

File đính kèm

BẠN ƠI, VẤN ĐỀ KẾT HỢP THÌ OK RỒI.

BẠN GIÚP MÌNH XÓA BỚT CÁC MÃ TRÙNG 2 ĐIỀU KIỆN LÀ MÃ SỐ VÀ VEHICLE TYPE THÌ CHỈ LẤY 1 DÒNG THÔI

CẢM ƠN BẠN
 

File đính kèm

vậy mình bó tay hả bạn? data lớn quá nên nếu làm tay đuối quá
Thôi kệ nó đi. Mấy cái công thức mảng thật là đau đầu :p
Bài đã được tự động gộp:

Lại bấm, bấm ... ra kết quả
Tưởng tượng các khả năng bấm, bấm ... để bẩy lổi
Anh giúp em cái công thức này với ạ
Em có mảng A=$B$3:$B$153843; mảng B=$J$3:$J$74. Bây giờ em muốn nếu giá trị mảng A có trong mảng B thì lấy giá trị bảng giá trị mảng A
Em viết công thưc: =if(A=B;A;"") mà nó không ra +-+-+-+
 

File đính kèm

Lần chỉnh sửa cuối:
Thôi kệ nó đi. Mấy cái công thức mảng thật là đau đầu :p
Bài đã được tự động gộp:


Anh giúp em cái công thức này với ạ
Em có mảng A=$B$3:$B$153843; mảng B=$J$3:$J$74. Bây giờ em muốn nếu giá trị mảng A có trong mảng B thì lấy giá trị bảng giá trị mảng A
Em viết công thưc: =if(A=B;A;"") mà nó không ra +-+-+-+

cuối cùng cũng được rồi

cảm ơn bạn nhiều nha !!!!!!
 
Thôi kệ nó đi. Mấy cái công thức mảng thật là đau đầu :p
Bài đã được tự động gộp:


Anh giúp em cái công thức này với ạ
Em có mảng A=$B$3:$B$153843; mảng B=$J$3:$J$74. Bây giờ em muốn nếu giá trị mảng A có trong mảng B thì lấy giá trị bảng giá trị mảng A
Em viết công thưc: =if(A=B;A;"") mà nó không ra +-+-+-+
- Inputbox với Type=64 thì hàm ConvertTo1DArray không cần
- Inputbox đầu chọn vùng dữ liệu, các Inputbox sau chọn Cancel: Code bị lổi
- Tách 2 mảng điều kiện và dữ liệu bằng 2 inputbox, người dùng khó thao tác và dể chọn sai, kết quả sẽ không chính xác
 
- Inputbox với Type=64 thì hàm ConvertTo1DArray không cần
- Inputbox đầu chọn vùng dữ liệu, các Inputbox sau chọn Cancel: Code bị lổi
- Tách 2 mảng điều kiện và dữ liệu bằng 2 inputbox, người dùng khó thao tác và dể chọn sai, kết quả sẽ không chính xác
Inputbox với Type=64 Khi mình chọn 2 hàng thì nó ra mảng hai chiều. Còn khi chọn 1 hàng nhiều cột nó lại ra mảng 1 chiều
Vậy có cách nào mình kiểm tra mảng là 1 chiều hay 2 chiều không ạ
Bài đã được tự động gộp:

. Trong mục đố vui có cách xử lý cái này rất hay. Bạn thử xem.
Dạ. Để em tìm anh ạ
 
Anh chỉ cho em với. Em làm không được
Hi hi .
PHP:
Function CheckArray2D(Arr As Variant) As Boolean
    Dim C As Long
On Error Resume Next
C = LBound(Arr, 2)
CheckArray2D = Err = 0
End Function
Em tìm được cái hàm này ạ
 
Lần chỉnh sửa cuối:
Anh chỉ cho em với. Em làm không được
Hi hi .
PHP:
Function CheckArray2D(Arr As Variant) As Boolean
    Dim C As Long
On Error Resume Next
C = LBound(Arr, 2)
CheckArray2D = Err = 0
End Function
Em tìm được cái hàm này ạ
Mã:
Sub Noichuoi2()
    Dim CriteriaArray, a
    CriteriaArray = Application.InputBox(Prompt:="Chon du lieu ", Title:="Chon vung dieu kien", Type:=64)
    On Error Resume Next
    a = UBound(CriteriaArray, 2)
    If Err.Number > 0 Then a = 1 Else a = 2
    On Error GoTo 0
End Sub
 
Mã:
Sub Noichuoi2()
    Dim CriteriaArray, a
    CriteriaArray = Application.InputBox(Prompt:="Chon du lieu ", Title:="Chon vung dieu kien", Type:=64)
    On Error Resume Next
    a = UBound(CriteriaArray, 2)
    If Err.Number > 0 Then a = 1 Else a = 2
    On Error GoTo 0
End Sub
Dạ. Em cám ơn anh nhiều ạ
Phân biệt được cái này thì khi nào mảng là 1 chiều mình sẽ chuyển nó về 2 chiều sẽ nhẹ hơn nhiều so với bài 34 (là chuyển hết dữ liệu về mản 1 chiều)
 
Lần chỉnh sửa cuối:
Chuyển mảng để làm gì vậy giời?
Một ngày đẹp trời nhà họ không thích lấy dữ liệu từ 2 cột mà lấy dữ liệu từ 2 hàng lúc đó mảng đầu vào của mình thành mảng 1 chiều mất rồi Anh ạ
Em sửa lại nó chạy nhanh hơn nhiều so với bài 34
 

File đính kèm

Lần chỉnh sửa cuối:
Sao không dùng: For Each a in mảng
Em cho chạy ở mảng điều kiện sợ dùng For Each ... in ... nó không nhận được giá trị của mảng dữ liệu nối chuỗi
Mà cái mảng 1 chiều em nói ở trên chắc không đúng phải không anh. Em thấy Lbound =1 chứ không phải bằng 0
Em thử Tmp = Array("a", "b", "c") thì LBound(Tmp)=0
 
Lần chỉnh sửa cuối:
Em cho chạy ở mảng điều kiện sợ dùng For Each ... in ... nó không nhận được giá trị của mảng dữ liệu nối chuỗi
Mà cái mảng 1 chiều em nói ở trên chắc không đúng phải không anh. Em thấy Lbound =1 chứ không phải bằng 0
Em thử Tmp = Array("a", "b", "c") thì LBound(Tmp)=0
Mảng 1 chiều không bắt buộc Lbound =0
Thử code xem có khớp không
Mã:
Sub Noichuoi3()
    Dim Arr1, Arr2, Arr, a, b, k, c
    Arr1 = Application.InputBox(Prompt:="Chon du lieu ", Title:="Chon vung dieu kien", Type:=64)
    Arr2 = Application.InputBox(Prompt:="Chon du lieu ", Title:="Chon vung du lieu", Type:=64)
    On Error Resume Next
    c = UBound(Arr2, 2)
    If Err.Number > 0 Then c = 1 Else c = 2
    On Error GoTo 0
    For Each a In Arr1
      k = k + 1
      If c = 1 Then b = Arr2(k) Else b = Arr2(k, 1)
    Next
End Sub
 
Mảng 1 chiều không bắt buộc Lbound =0
Thử code xem có khớp không
Mã:
Sub Noichuoi3()
    Dim Arr1, Arr2, Arr, a, b, k, c
    Arr1 = Application.InputBox(Prompt:="Chon du lieu ", Title:="Chon vung dieu kien", Type:=64)
    Arr2 = Application.InputBox(Prompt:="Chon du lieu ", Title:="Chon vung du lieu", Type:=64)
    On Error Resume Next
    c = UBound(Arr2, 2)
    If Err.Number > 0 Then c = 1 Else c = 2
    On Error GoTo 0
    For Each a In Arr1
      k = k + 1
      If c = 1 Then b = Arr2(k) Else b = Arr2(k, 1)
    Next
End Sub
Cách này đỡ phải chuyển đổi. Hay quá Anh ạ
 
Lần chỉnh sửa cuối:
Bạn ơi mình có thêm vấn đề này nữa, bạn giúp mình với

1. Nếu các ký vehicle type có ký tự giống nhau (màu đỏ) thì rút gọn lại thành 1
2. Bỏ " dấu , khoảng trắng thành dấu ";" và dấu "," cho các model rút gọn
3. Tô màu đỏ cho các ký tự đã được rút gọn

Bạn xem file đính kèm giúp mình nhé
 

File đính kèm

Bạn ơi giúp mình thêm vấn đề này với.
Bạn giúp mình gọp lại để rút ngắn ký tự như sau :

1. Nếu các ký model có ký tự giống nhau (màu đỏ) thì rút gọn lại thành 1
2. Bỏ " dấu , khoảng trắng thành dấu ";" và dấu "," cho các model rút gọn
3.Tô màu đỏ cho các ký tự đã được rút gọn

bạn xem file đính kèm giúp mình nhé

cảm on bạn nhiều
 

File đính kèm

Nội quy như vầy Nick đăng ký không được có các ký tự đặc biệt như * / \ ? : " ( ) mà Anh. Ký tự của em không nằm trong điều cấm mà
Bài đã được tự động gộp:



Anh @hpkhuong đang nói em mà. Đâu có nói Anh đâu. Anh nhận vơ rùi :p:p:p

Anh @hpkhuong nói thì mình mới để ý kỹ đó. Sau cùng mình biết nick của bạn là Hoa Bất Tử.
Mình nói có đúng không Hoa Bất Tử không ?
 
Bạn ơi giúp mình thêm vấn đề này với.
Bạn giúp mình gọp lại để rút ngắn ký tự như sau :

1. Nếu các ký model có ký tự giống nhau (màu đỏ) thì rút gọn lại thành 1
2. Bỏ " dấu , khoảng trắng thành dấu ";" và dấu "," cho các model rút gọn
3.Tô màu đỏ cho các ký tự đã được rút gọn

bạn xem file đính kèm giúp mình nhé

cảm on bạn nhiều
Mình ltìm mãi mới được cái Code tô màu chữ rồi về sửa lại. Bạn xem thử:
Tô màu chữ thì Code nó chạy chậm đó bạn nha. Muốn đẹp thì phải mất thời gian đó :p:p:p
À mình gét mầu đỏ do vậy chưa đúng 100% như yêu cầu của Bạn
Cùng thắc mắc như anh @hpkhuong, lúc đăng nhập vào giaiphapexcel.com thì làm sao bạn đăng nhập được ? vì bàn phím không có ký tự đặc biệt (như ký tự nốt nhạc, ...)
Đăng nhập bằng tài khoản mail Bạn ạ :p:p:p
 

File đính kèm

Lần chỉnh sửa cuối:
Mình ltìm mãi mới được cái Code tô màu chữ rồi về sửa lại. Bạn xem thử:
Tô màu chữ thì Code nó chạy chậm đó bạn nha. Muốn đẹp thì phải mất thời gian đó :p:p:p
À mình gét mầu đỏ do vậy chưa đúng 100% như yêu cầu của Bạn

Đăng nhập bằng tài khoản mail Bạn ạ :p:p:p

Cảm ơn bạn nhiều nha :)
 

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

Back
Top Bottom