Tách một bảng dữ liệu ra thành nhiều bảng có điều kiện khó (1 người xem)

  • Thread starter Thread starter coconga
  • Ngày gửi Ngày gửi
Liên hệ QC

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

coconga

Thành viên chính thức
Tham gia
9/7/13
Bài viết
56
Được thích
4
Chào cả nhà ta, nhờ anh chị giúp tôi vấn đề khó sau vớiTôi có vùng dữ liệu khoảng 50 cột; 100 hàng tách ra thành 4 bảng theo mong muốn sau:Bảng 1. các số trong vùng màu hồngBảng 2. các số trong vùng màu vàngBảng 3. các số trong vùng màu xanhBảng 4. các số trong vùng màu trắng,...; Vẫn dữ nguyên Bảng Dũ liệu ban đầu các Bảng 123456 tách chuyển sang sheet 2Cảm ơn các anh----Có fileCác sư phụ giúp em với, khó quá
 
Lần chỉnh sửa cuối:
File của bạn quá khó hiểu,bạn phải nói thêm về quy luật tạo các vùng màu hồng, xanh ,vàng ,trắng trong bảng dữ liệu bạn đầu,!
Cảm ơn bạn, vùng màu chỉ lmucj dích làm nổi bật thui, ko cần to mầu. xin lỗi anh chị

Sư phụ nào có kinh nghiệm copy Paste giúp em với
 
Lần chỉnh sửa cuối:
Hiểu chết liền, ít ra bạn cũng phải nói kết quả bạn mong muốn là gì, lấy từ đâu.
File của bạn không có quy luật nào?, thì rất khó mần
 
Lần chỉnh sửa cuối:
Sư phụ nào có kinh nghiệm copy Paste giúp em với
"Ai cũng không hiểu trừ 1 người hiểu " , người đó là bạn:
* Bạn muốn copy hay xuất dữ liệu thế nào cũng được, miễn là bạn phải diễn đạt sao cho người khác hiểu được quy luật hay cách thức ,nguyên tắc xuất dữ liệu
* Hay bây giờ bạn chỉ muốn trích xuất dữ liệu màu vàng,xanh,... còn mấy màu đấy thì bạn tự tô vào hay thế nào ?
 
Thực ra không biết bạn mong muốn kết quả như thế nào, quy luật ra sao. tôi nghĩ đại và làm đại, đúng thì đúng mà không đúng thì thôi. bạn xem nhé
 

File đính kèm

Thực ra không biết bạn mong muốn kết quả như thế nào, quy luật ra sao. tôi nghĩ đại và làm đại, đúng thì đúng mà không đúng thì thôi. bạn xem nhé
Cảm ơn các bạn, Đúng vậy rồi như ý luôn, thật là tài. nhưng có cột hiện như thế này nhé #N/A
Chào bạn chúc buổi sáng sức khỏe, vui vẻ.

* Hay bây giờ bạn chỉ muốn trích xuất dữ liệu màu vàng,xanh,... còn mấy màu đấy thì bạn tự tô vào hay thế nào ?
Đúng như bạn đoán ở ý trên đó #7, tôi diễn đạt thiếu ý mong bạn thông cảm
Cảm ơn bạn
 
Lần chỉnh sửa cuối:
Thực ra không biết bạn mong muốn kết quả như thế nào, quy luật ra sao. tôi nghĩ đại và làm đại, đúng thì đúng mà không đúng thì thôi. bạn xem nhé
Chào Cao Mạnh Sơn! Bạn giúp tôi thêm mong muốn này nữa nhe
Bảng dữ liệu mới này có 6 màu tôi muốn tách các số trong vùng màu này ra thành 6 bảng khác như bạn đã làm ở #6
Cảm ơn bạn Cao Mạnh Sơn rất nhiều
 
Lần chỉnh sửa cuối:
Nhờ huuthang_bd và các anh chi giup em voi
 
Chào Cao Mạnh Sơn! Bạn giúp tôi thêm mong muốn này nữa nhe
Bảng dữ liệu mới này có 6 màu tôi muốn tách các số trong vùng màu này ra thành 6 bảng khác như bạn đã làm ở #6
Cảm ơn bạn Cao Mạnh Sơn rất nhiều
Thực ra tôi không biết dữ liệu của bạn sử dụng với mục đích gì nhưng bạn mong muốn thì bạn phải đưa ra yêu cầu có quy luật làm sao để người muốn giúp bạn dễ hiểu nhất, đừng hỏi mà giống đánh đố mọi người.
Ở Sheet2 bạn đưa ra 1 vùng kết quả khác với yêu cầu của bạn ở Sheet1.
nói chung giúp bạn không khó, khó ở chỗ không biết có đúng ý bạn muốn không thôi.
Tôi gửi luôn File ở 2 Version
 

File đính kèm

Cảm ơn bạn rất rất nhiều, chúc bạn vui vẽ sức khỏe & hạnh phúc
Xin phep tải và test
 
Hi, làm xong đề tài của cha Cò mất tiêu. Giờ phát hiện ở đây nên mới gửi
Mình cứ tạm thế này data và bảng màu gì thì chép màu đó

Mã:
Sub CopyOnColor()
Dim Rg As Range, Cl As Range, Tmp, Tmp1, List(), i, j, Id, Vt
Sheet2.Cells.Clear
Set Rg = Sheet1.[B5:O40]
Tmp = Rg
For Each Cl In Rg.Cells
Id = Right(String(10, "0") & Cl.Interior.Color, 10)
If InStr(1, Join(List, ";"), Id) = 0 Then
i = i + 1
ReDim Preserve List(1 To i)
List(i) = Id
End If
Tmp(Cl.Row - 4, Cl.Column - 1) = Cl.Interior.Color
Next
For Id = 1 To UBound(List)
 Tmp1 = Rg
Vt = Id * UBound(Tmp1, 1) - UBound(Tmp1, 1) + 3 * Id
Sheet2.Cells(Vt, 1) = "DATA " & Id
Sheet2.Cells(Vt, 1).Interior.Color = (List(Id))
For i = 1 To UBound(Tmp1, 1)
For j = 1 To UBound(Tmp1, 2)
If Val(Tmp(i, j)) <> Val(List(Id)) Then Tmp1(i, j) = ""
Next
Next
Sheet2.Cells(Vt + 2, 2).Resize(UBound(Tmp1, 1), UBound(Tmp1, 2)) = Tmp1
Sheet2.Cells(Vt + 2, 2).Resize(UBound(Tmp1, 1), UBound(Tmp1, 2)).Interior.Color = (List(Id))
Next
End Sub
 

File đính kèm

Cảm ơn

Hi, làm xong đề tài của cha Cò mất tiêu. Giờ phát hiện ở đây nên mới gửi
Mình cứ tạm thế này data và bảng màu gì thì chép màu đó

Mã:
Sub CopyOnColor()
Dim Rg As Range, Cl As Range, Tmp, Tmp1, List(), i, j, Id, Vt
Sheet2.Cells.Clear
Set Rg = Sheet1.[B5:O40]
Tmp = Rg
For Each Cl In Rg.Cells
Id = Right(String(10, "0") & Cl.Interior.Color, 10)
If InStr(1, Join(List, ";"), Id) = 0 Then
i = i + 1
ReDim Preserve List(1 To i)
List(i) = Id
End If
Tmp(Cl.Row - 4, Cl.Column - 1) = Cl.Interior.Color
Next
For Id = 1 To UBound(List)
 Tmp1 = Rg
Vt = Id * UBound(Tmp1, 1) - UBound(Tmp1, 1) + 3 * Id
Sheet2.Cells(Vt, 1) = "DATA " & Id
Sheet2.Cells(Vt, 1).Interior.Color = (List(Id))
For i = 1 To UBound(Tmp1, 1)
For j = 1 To UBound(Tmp1, 2)
If Val(Tmp(i, j)) <> Val(List(Id)) Then Tmp1(i, j) = ""
Next
Next
Sheet2.Cells(Vt + 2, 2).Resize(UBound(Tmp1, 1), UBound(Tmp1, 2)) = Tmp1
Sheet2.Cells(Vt + 2, 2).Resize(UBound(Tmp1, 1), UBound(Tmp1, 2)).Interior.Color = (List(Id))
Next
End Sub
Lợi hại thiệt, cảm ơn sealand ,Đúng rồi trứoc đó bài em bị phạm quy
Cái này copy dựa vào màu phải không bạn
 
Lần chỉnh sửa cuối:
Cách làm của mình là thế này:
-Tạo 1 danh sách màu có trong bảng của bạn.
-Tạo 2 mảng đúng bằng vùng dữ liệu của bạn, một mảng chứa giá trị màu, một mảng chứa dữ liệu
-Thực hiện: khi chép màu nào ta có Id màu đó, căn cứ trên mảng chúa màu nếu không bằng Id thì ta xóa ở mảng tương ứng.
Việc thực hiện hoàn toàn trên mảng nên với dữ liệu lớn là nhanh hơn đáng kể so với Copy bình thường và rà soát trên sheet đó nha
 
Cách làm của mình là thế này:
-Tạo 1 danh sách màu có trong bảng của bạn.
-Tạo 2 mảng đúng bằng vùng dữ liệu của bạn, một mảng chứa giá trị màu, một mảng chứa dữ liệu
-Thực hiện: khi chép màu nào ta có Id màu đó, căn cứ trên mảng chúa màu nếu không bằng Id thì ta xóa ở mảng tương ứng.
Việc thực hiện hoàn toàn trên mảng nên với dữ liệu lớn là nhanh hơn đáng kể so với Copy bình thường và rà soát trên sheet đó nha
Cách làm của bản rất hay, linh hoạt trong copy, chỉ việc tạo mà trên vùng số cần chép ra
Cảm ơn bạn
 
Web KT

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

Trả lời
42
Đọc
17K
Back
Top Bottom