Dò tìm theo mã để cập nhật dữ liệu (7 người xem)

Liên hệ QC

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

Cho xin hỏi thêm : Phải thêm vào đoạn code trên như thế nào , để file trích ra vẫn giữ nguyên các ràng buộc được thiết lập trong (Kể cả cột chưa công thức nếu có ) data Validation có trong file ban đầu - Nếu thiết lập lại thì rất vất vã . Xin cảm ơn ndu96081631 rất nhiều .
Bạn vui lòng kiểm tra lại ---> Validation vẫn có trong các file con cơ mà
 
Bạn vui lòng kiểm tra lại ---> Validation vẫn có trong các file con cơ mà
Xin lỗi , tôi bị nhầm .
Đoạn code cập nhậttrích file của anh ndu96081631;205157] tôi lấy đưa vào file cụ thể của mình nhưng vẫn không cập nhật được (Copy đoạn code của anh và có sửa một số chỗ cho phù hợp) nhưng làm hoài nó vẫn không cập nhật được . Tôi gởi luôn lên đây , nhờ anh ndu96081631;205157] xem và giúp đỡ . anh cũng đừng phiền , rất cảm ơn rất nhiều .
 

File đính kèm

Xin lỗi , tôi bị nhầm .
Đoạn code cập nhậttrích file của anh ndu96081631;205157] tôi lấy đưa vào file cụ thể của mình nhưng vẫn không cập nhật được (Copy đoạn code của anh và có sửa một số chỗ cho phù hợp) nhưng làm hoài nó vẫn không cập nhật được . Tôi gởi luôn lên đây , nhờ anh ndu96081631;205157] xem và giúp đỡ . anh cũng đừng phiền , rất cảm ơn rất nhiều .
Ngay từ đâu bạn đưa file gốc này lên có phải đở vất vả không? File mới này cấu trúc hơi khác so với file bạn đưa lên lần trước nên code chạy không đúng là phải rồi!
Hỏi lại lần nữa cho chắc:
- Khi chia ra các file con, bạn muốn trích từ cột A đến cột nào? Cột Y chăng?
- Tôi vẫn chưa nắm rõ cột Z, AA và AB dùng để làm gì?
- Nếu dùng code mới trích file con thì code củ của bạn có bỏ được không? (tôi thấy code này đâu mấy cần thiết nhỉ?)
Xin nói lại 1 lần cho rõ
 
Hỏi lại lần nữa cho chắc:
- Khi chia ra các file con, bạn muốn trích từ cột A đến cột nào? Cột Y chăng?
- Tôi vẫn chưa nắm rõ cột Z, AA và AB dùng để làm gì?
- Nếu dùng code mới trích file con thì code củ của bạn có bỏ được không? (tôi thấy code này đâu mấy cần thiết nhỉ?)
Xin nói lại 1 lần cho rõ
Xin cảm ơn anh đa nhiệt tình giúp đỡ !: Anh có thể bỏ đoạn code có sẵn trong file gởi lên cũng được - kể cả các cột Z, AA ,... (Vì ban đầu tôi dự định dùng để lọc và dùng hàm đếm để thống kê điểm thi , xếp loại ).Tôi xin chốt lại như sau :
+ Ý tôi muốn trích đến cột Y .
+ Mỗi file con được trích ra cần trích thêm vùng thống kê nằm ngay cuối danh sách được trích (Mẫu bảng thống kê theo file đính kèm sau đây) .
Xin lỗi vì làm phiền anh khá nhiều , mong anh thông cảm . Xin rất cảm ơn .
 

File đính kèm

Xin cảm ơn anh đa nhiệt tình giúp đỡ !: Anh có thể bỏ đoạn code có sẵn trong file gởi lên cũng được - kể cả các cột Z, AA ,... (Vì ban đầu tôi dự định dùng để lọc và dùng hàm đếm để thống kê điểm thi , xếp loại ).Tôi xin chốt lại như sau :
+ Ý tôi muốn trích đến cột Y .
+ Mỗi file con được trích ra cần trích thêm vùng thống kê nằm ngay cuối danh sách được trích (Mẫu bảng thống kê theo file đính kèm sau đây) .
Xin lỗi vì làm phiền anh khá nhiều , mong anh thông cảm . Xin rất cảm ơn .
Làm lại lần nữa cho bạn đây! Thật ra cũng là code cũ nhưng sửa lại các tham chiếu của vùng dử liệu (vì nó khác với file ban đầu)
Bạn đặc biệt chú ý điểm này:
- Không được thay đổi vị trí vùng tiêu đề nằm tại A5 đến Y5 ---> Bất cứ động tác chèn dòng, chèn cột làm cho vị trí tiêu đề này thay đổi cũng sẽ dẩn đến code chạy không đúng
- Không được sửa tên sheet (hiện nó tên là TH) ---> Nếu bạn sửa tên sheet thì bắt buộc phải sửa luôn trong code (tìm chổ nào có chữ Sheets("TH") mà sửa)
- Vẫn như lần trước, các file con sẽ nằm cùng thư mục với file Tonghop.xls
- Sau khi nhập điểm, nên mang các file con cho vào 1 thư mục khác
- Không được tự ý sửa tên các file con (hiện tại nó lấy tên theo lớp)
-----------------------
Test lại 1 lần và thông báo cho tôi biết nếu có trục trặc nhé
 

File đính kèm

Test lại 1 lần và thông báo cho tôi biết nếu có trục trặc nhé[/QUOTE]
Còn vấn đề khi mình Protecton file gốc (tonghop2) thì chạy marco chia file thì không được .
Anh ndu96081631 có thể giúp bổ sung thêm vấn đề này - Tức là theo yêu cầu : Khi protection file gốc (có 1 vài cột chứa công thức ) thì :
1/ Chia file được (bấm vào nút chia file ).
2/ Các file con sau khi đã chia cũng bị khóa những cell có chưa công thức tương ứng như file gốc .
Mong anh thông cảm cho , vấn đề này khi sử dụng mới phát hiện nhờ anh giúp đỡ tiếp nhé . Xin châmn thành cảm ơn .
 
Lần chỉnh sửa cuối:
Test lại 1 lần và thông báo cho tôi biết nếu có trục trặc nhé
Còn vấn đề khi mình Protecton file gốc (tonghop2) thì chạy marco chia file thì không được .
Anh ndu96081631 có thể giúp bổ sung thêm vấn đề này - Tức là theo yêu cầu : Khi protection file gốc (có 1 vài cột chứa công thức ) thì :
1/ Chia file được (bấm vào nút chia file ).
2/ Các file con sau khi đã chia cũng bị khóa những cell có chưa công thức tương ứng như file gốc .
Mong anh thông cảm cho , vấn đề này khi sử dụng mới phát hiện nhờ anh giúp đỡ tiếp nhé . Xin châmn thành cảm ơn .[/QUOTE]
Cách đơn giản nhất: Trước khi chạy code hãy Unprotect sheet, chạy xong lại Protect trở lại
Đương nhiên bạn không phải làm bằng tay... Viết 1 đoạn code cho nó làm việc này
Hãy record macro để biết protect và unprotect code viết thế nào
Ví dụ cho đoạn này vào đầu code chính:
ActiveSheet.Unprotect 111
Và cho đoạn này vào cuối code chính
ActiveSheet.Protect 111
Trong đó 111 là password
Bạn tự làm đi ---> Quá dể!
--------------------
Ah... nhân đây nói thêm: Bạn vui lòng kiểm tra các file Excel trên máy tính của bạn... Máy bạn bị virus nặng rồi đấy!
 
Lần chỉnh sửa cuối:
Còn vấn đề khi mình Protecton file gốc (tonghop2) thì chạy marco chia file thì không được .
Anh ndu96081631 có thể giúp bổ sung thêm vấn đề này - Tức là theo yêu cầu : Khi protection file gốc (có 1 vài cột chứa công thức ) thì :
1/ Chia file được (bấm vào nút chia file ).
2/ Các file con sau khi đã chia cũng bị khóa những cell có chưa công thức tương ứng như file gốc .
Mong anh thông cảm cho , vấn đề này khi sử dụng mới phát hiện nhờ anh giúp đỡ tiếp nhé . Xin châmn thành cảm ơn .
Cách đơn giản nhất: Trước khi chạy code hãy Unprotect sheet, chạy xong lại Protect trở lại
Đương nhiên bạn không phải làm bằng tay... Viết 1 đoạn code cho nó làm việc này
Hãy record macro để biết protect và unprotect code viết thế nào
Ví dụ cho đoạn này vào đầu code chính:
ActiveSheet.Unprotect 111
Và cho đoạn này vào cuối code chính
ActiveSheet.Protect 111
Trong đó 111 là password
Bạn tự làm đi ---> Quá dể!
--------------------
Ah... nhân đây nói thêm: Bạn vui lòng kiểm tra các file Excel trên máy tính của bạn... Máy bạn bị virus nặng rồi đấy![/QUOT


Xin lỗi vì file bị virut: Ý tôi là các file con được trích ra vẫn còn protect (Nếu không thì tên học sinh , hoặc mã học sinh có thể bị thay đổi bởi người nhập liệu vào file con) . Đoạn code anh chỉ tôi đưa vào đầu và cuối sub chia file nó chỉ bảo vệ file gốc thối (Trong khi mình cần là các file con ) , anh vui lóng giúp nhé .
 
Lần chỉnh sửa cuối:
Ví dụ cho đoạn này vào đầu code chính:
ActiveSheet.Unprotect 111
Và cho đoạn này vào cuối code chính
ActiveSheet.Protect 111
Trong đó 111 là password

Sao đoạn code đưa vào sub chia file thì chỉ khóa được file nguồn (không khóa được file con khi chạy sub chia file) . Mục đích là các file con khi được trích ra phải tự động được khóa bảo vệ tương tự như ở file nguồn . Anh thông cảm chỉ cho .
 
Ví dụ cho đoạn này vào đầu code chính:
ActiveSheet.Unprotect 111
Và cho đoạn này vào cuối code chính
ActiveSheet.Protect 111
Trong đó 111 là password

Sao đoạn code đưa vào sub chia file thì chỉ khóa được file nguồn (không khóa được file con khi chạy sub chia file) . Mục đích là các file con khi được trích ra phải tự động được khóa bảo vệ tương tự như ở file nguồn . Anh thông cảm chỉ cho .
Bạn để ý chổ này:
PHP:
MainWs.Range(MainWs.UsedRange, MainWs.[A1]).SpecialCells(12).Copy
SubWs.Range("A1").PasteSpecial 8
SubWs.Range("A1").PasteSpecial
Là copy dử liệu từ file gốc, paste vào file con
MainWs là sheet của file gốc
SubWs là sheet của file con
Vậy chỉ cần:
- Bỏ chọn Locked cho tất cả các cell trong sheet SubWs
- Chọn Locked cho các cell có công thức trong sheet SubWs
- thêm Protect vào dưới nó là xong, chẳng hạn:
PHP:
MainWs.Range(MainWs.UsedRange, MainWs.[A1]).SpecialCells(12).Copy
With SubWs
  .Range("A1").PasteSpecial 8
  .Range("A1").PasteSpecial
  .UsedRange.Locked = False
  .UsedRange.SpecialCells(3).Locked = True
  .Protect 111
End With
Thử xem thế nào nhé
(Mấy vụ protect rồ tiết này đúng là rách việc thật)
 
MainWs.Range(MainWs.UsedRange, MainWs.[A1]).SpecialCells(12).Copy
With SubWs
.Range("A1").PasteSpecial 8
.Range("A1").PasteSpecial
.UsedRange.Locked = False
.UsedRange.SpecialCells(3).Locked = True
.Protect 111
End With
[/php]Thử xem thế nào nhé


Đoạn code này khi đưa vào nó cứ báo lỗi ở dòng UsedRange.Locked = False không biết tại sao , đã thử nhiều lần nhưng không được .Tôi gởi file (File sạch , không nhiễm virut) lên xin anh thông cảm giúp cho ,
File tổng hợp và tất cả các file con khóa lại chỉ chừa lại (không khóa) vùng dữ liệu từ cột U--->E . Xin cảm ơn .
 

File đính kèm

MainWs.Range(MainWs.UsedRange, MainWs.[A1]).SpecialCells(12).Copy
With SubWs
.Range("A1").PasteSpecial 8
.Range("A1").PasteSpecial
.UsedRange.Locked = False
.UsedRange.SpecialCells(3).Locked = True
.Protect 111
End With
[/php]Thử xem thế nào nhé


Đoạn code này khi đưa vào nó cứ báo lỗi ở dòng UsedRange.Locked = False không biết tại sao , đã thử nhiều lần nhưng không được .Tôi gởi file (File sạch , không nhiễm virut) lên xin anh thông cảm giúp cho ,
File tổng hợp và tất cả các file con khóa lại chỉ chừa lại (không khóa) vùng dữ liệu từ cột U--->E . Xin cảm ơn .
Tôi thử nghiệm thấy có vấn đề gì đâu ta
Bạn kiểm tra lại file đính kèm này xem (có lẽ bạn đặt code không đúng vị trí)
 

File đính kèm

Sợ thật! trình của bác ndu96081631 cao thật đấy.
cảm ơn bác vì bài này. Tôi Khai thác thêm được khá nhiều.
 
Thật sự tôi rất nể các sư phụ. Kính cẩn khấu đầu
 
Tôi thử nghiệm thấy có vấn đề gì đâu ta
Bạn kiểm tra lại file đính kèm này xem (có lẽ bạn đặt code không đúng vị trí)

Hình như file của em giống giống như bài 33. Nhưng vì không hiểu biết về VBA nên lực bất tòng tâm và Rất mong nhận được sự giúp đỡ từ ndu96081631 và của các bác trên diễn đàn. Chân thành cảm ơn rất nhiều.http://www.mediafire.com/?eq376917qhc38v8#1
 
Chẳng biết làm sao bài của em, không ai giải đáp, file của em có gì khó hiểu không hay là vấn đề gì.........Lần cuối cùng xin nhờ các bác ra tay giúp dùm. Chân thành cảm ơn.
 
Mình có 1 file như này, rất mong được các bạn làm giúp việc chia tách file này thành nhiều file theo dữ liệu của cột A

Rất cám ơn sự giúp đỡ của các bạn
 

File đính kèm

Cảm ơn anh rất nhiều về file này. Anh cho em hỏi thêm, nếu em thêm 1 cột "đường dẫn" tương ứng với cột "Lớp" để khi xuất file thì mỗi file chạy về 1 đường dẫn khác nhau thì có được không? Và nếu được thì viết code thế nào? Cảm ơn anh!
 
Cho e xin hỏi 1 chút,

Thứ Nhất là : E cũng down về làm thử nhưng nó chỉ chạy trên Module của chính File đó, e copy sang Module của PERSONAL.XLSB thì nó không có chạy. Tại sao vậy?

Thứ Hai là : + E cũng có chỉnh sửa 1 chút để giống với File của e , File "TongHop.xls" của A thì các A lấy cột D làm cột xuất ra file excel và cột tiêu đề tính từ cột A2 trở đi.
+ Dữ liệu của E thì tiêu đề từ cột A1 trở đi. lấy cột AF làm cột xuất ra file excel, nhưng sau khi chạy thì xuất ra thêm 1 file là file tiêu đề ( Vd: cột AF1 tên là Dem thì nó xuất ra thêm file "Dem.xls" )
Module , của e viết như sau :

Private Function Unique(Range As Range)
Dim Clls As Range
On Error Resume Next
With CreateObject("Scripting.Dictionary")
For Each Clls In Range
If Not IsEmpty(Clls) Then .Add Clls.Value, ""
Next Clls
Unique = .Keys
End With
End Function
---------------------------------------------------------------
Sub ChiaFileADD()
Dim MainWs As Worksheet, SubWs As Worksheet, Rng As Range, Item
On Error GoTo Thoat
Application.ScreenUpdating = False
Set MainWs = ThisWorkbook.Sheets("CP")
Set Rng = MainWs.Range(MainWs.[A2], MainWs.[A65536].End(xlUp)).Resize(, 32)
For Each Item In Unique(Intersect(Rng, Rng.Offset(, 31)).Resize(, 1))
With Workbooks.Add
Set SubWs = .Sheets(1)
SubWs.Name = Item
Rng.AutoFilter 32, Item
MainWs.Range(MainWs.Range("A1"), Rng).SpecialCells(12).Copy
SubWs.Range("A1").PasteSpecial 8
SubWs.Range("A1").PasteSpecial
Rng.AutoFilter
.Close True, ThisWorkbook.Path & "" & Item & ".xls"
End With
Next
Thoat:
Application.ScreenUpdating = True
End Sub

Mong Các A chỉ giùm, Thanks.
 
Web KT

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

Back
Top Bottom