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)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
Sao để cái chữ nóa toa thế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ẻ!
nóa toa để nhiều ngưởi nhìn rỏa hơn.Sao để cái chữ nóa toa thế![]()
À. Chết rồi quên mất cái nàyChà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
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
Kết quả có thể gi được là 1048573 dòng (cái này thì chưa thử)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 đẹp mà AnhSao tên có mấy cái gì ngộ thế. Mỗi lần đăng nhập phải gõ đủ như thế hả bạn???
Bạn qua đây đọc về mảng trong VBA https://sites.google.com/site/exl2lab/vba-in-excel/bai-10-arrayTê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!
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à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!
À, 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À, 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
Diễn đàn có 2 kiểu đăng nhập anh ạ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!
Bị như vầy là sao bạn ơi !View attachment 203915
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.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
Kỳ lạ, bấm lung tung không thấy gì xảy ra, tự nhiên nhảy ra kết quả ngồ ngộ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ử
Hí hí. Hôm nay em mới nghịch cái tham số 64 của Application.InputBox thấy cũng vui vui anh ạKỳ lạ, bấm lung tung không thấy gì xảy ra, tự nhiên nhảy ra kết quả ngồ ngộ![]()
Lại bấm, bấm ... ra kết quảHí hí. Hôm nay em mới nghịch cái tham số 64 của Application.InputBox thấy cũng vui vui anh ạ
Có gom kết quả lại không BạnBẠ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
không gom hết như file đính kèm nè bạn ơiCó gom kết quả lại không Bạn
Ý em cũng như vậy đóa. Mà cái Code khỉ guos em đang viết nó lại lỗi mất rồikhông gom hết như file đính kèm nè bạn ơi
Ý em cũng như vậy đóa. Mà cái Code khỉ guos em đang viết nó lại lỗi mất rồi![]()
Thôi kệ nó đi. Mấy cái công thức mảng thật là đau đầuvậy mình bó tay hả bạn? data lớn quá nên nếu làm tay đuối quá
Anh giúp em cái công thức này với ạ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
Thôi kệ nó đi. Mấy cái công thức mảng thật là đau đầu
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![]()
Dạ được rồi Anh ạ. Em cám ơn Anh nhiềuThử:
=IF(COUNTIF($J$3:$J$74,$B$3:$B$153843),$B$3:$B$153843,"")
Chừng nào xét A, B bằng nhau tương ứng hàng theo hàng thì mới viết vậy đượcEm 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ầnThôi kệ nó đi. Mấy cái công thức mảng thật là đau đầu
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![]()
. Trong mục đố vui có cách xử lý cái này rất hay. Bạn thử xem.Application.InputBox
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- 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
Dạ. Để em tìm anh ạ. Trong mục đố vui có cách xử lý cái này rất hay. Bạn thử xem.
Bẩy lổi Ubound(Arr,2)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:
Dạ. Để em tìm anh ạ
Anh chỉ cho em với. Em làm không đượcBẩy lổi Ubound(Arr,2)
Function CheckArray2D(Arr As Variant) As Boolean
Dim C As Long
On Error Resume Next
C = LBound(Arr, 2)
CheckArray2D = Err = 0
End Function
Anh chỉ cho em với. Em làm không được
Hi hi .
Em tìm được cái hàm này ạ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
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 ạ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
Chuyển mảng để làm gì vậy giời?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)
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 ạChuyển mảng để làm gì vậy giời?
Sao không dùng: For Each a in mảngMộ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
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ỗiSao không dùng: For Each a in mảng
Mảng 1 chiều không bắt buộc Lbound =0Em 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
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 ạ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
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![]()
Đúng rồi ạ. Lắm khi phải hoa lá cành một tẹo cho cuộc đời nó thêm phần phức tạp í mà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 ?
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 rồi ạ. Lắm khi phải hoa lá cành một tẹo cho cuộc đời nó thêm phần phức tạp í mà![]()
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ử: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
Đăng nhập bằng tài khoản mail 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, ...)
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 đó
À 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 ạ![]()