Chèn dòng và cột bị lỗi .. (3 người xem)

Liên hệ QC

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

nggiahoang

Thành viên hoạt động
Tham gia
18/5/13
Bài viết
167
Được thích
108
Từ file của các anh chị trên GPE về máy ,em có chèn thêm 1 cột A để gõ STT và chèn xuống 4 dòng để tạo các tiêu đề thì kết quả “ xắp xếp “ bị chạy lung tung không còn như lúc ban đầu .Nhờ các anh chị em ra tay làm giúp theo file đính kèm.

Chân thành cám ơn !
 

File đính kèm

Từ file của các anh chị trên GPE về máy ,em có chèn thêm 1 cột A để gõ STT và chèn xuống 4 dòng để tạo các tiêu đề thì kết quả “ xắp xếp “ bị chạy lung tung không còn như lúc ban đầu .Nhờ các anh chị em ra tay làm giúp theo file đính kèm.

Chân thành cám ơn !
Thiệt tình chẳng hiểu bạn muốn gì trong file này. Ban đầu có một đoạn code nào đó, nhưng bây giờ nó không còn trong file nữa, nhìn vào bảng kết quả cũng chẳng biết là bạn muốn sắp xếp danh sách theo kiểu gì cả.
Bạn hãy mô tả lại chi tiết yêu cầu nhé.
 
Gởi file lần 2.

Xin lỗi anh Nghia Phuc! Do không kiểm tra nên đã gởi file không chạy lên diễn đàn .May nhờ có anh gởi phản hồi thông tin lên đây ,e mới biết mà vào xem lại.

Giờ em gởi lại file khác để anh chị em dành chút thời gian xem giùm và giúp cho.

Cám ơn nhiều !
 

File đính kèm

Nhà không có mạng nên kg theo sát được , tranh thủ giờ nghỉ trưa ra tiệm nét để ....nhận tin của các anh chị.
 
Nhà không có mạng nên kg theo sát được , tranh thủ giờ nghỉ trưa ra tiệm nét để ....nhận tin của các anh chị.

Bạn muốn chèn thêm cột mà bạn ghi "Chèn thêm 1 cột bên ngoài" tôi đọc không hiểu được là chèn thêm ở ngay cột A (cạnh danh sách) hay chèn thêm cột C ngay cái bảng màu nữa???
 
Chèn ngay cột A đó anh Nghĩa; vì có thể cho STT hoặc cho mã số là tùy theo trường hợp .Cám ơn anh đã hỏi cho kỹ .
 
Xin lỗi anh Nghia Phuc! Do không kiểm tra nên đã gởi file không chạy lên diễn đàn .May nhờ có anh gởi phản hồi thông tin lên đây ,e mới biết mà vào xem lại.

Giờ em gởi lại file khác để anh chị em dành chút thời gian xem giùm và giúp cho.

Cám ơn nhiều !
Tôi chỉ sửa lại code để nó chạy được và làm gọn code một chút, không can thiệp đến thuật toán:
[GPECODE=vb]Sub Xeplop()
Application.ScreenUpdating = False
Sheet1.Activate
[B5:B52].Copy [C5]
For j = 6 To 15
For k = 1 To 6
[C5:C52].Sort [C5], xlAscending, Header:=xlNo
Irow = [C10000].End(xlUp).Row + 1
Chialop = Int((Irow - 1 - 1 + 1) * Rnd + 1)
Mname = Range("C" & Chialop)
Range("C" & Chialop) = ""
Range("D" & j).Select
ActiveCell.Offset(0, k) = Mname
Next k
Next j
Sheet2.[E5:J15].Value = [E5:J15].Value
Application.ScreenUpdating = True
End Sub[/GPECODE]
 

File đính kèm

Em tải về thấy đúng ý rồi ,nhưng sao bấm vào nút thì không thấy chạy vậy anh ?
 
Em tải về thấy đúng ý rồi ,nhưng sao bấm vào nút thì không thấy chạy vậy anh ?
Ngộ nhỉ? Thấy đúng ý mà bấm nút lại không chạy là sao nhỉ?! Có phải là bạn chọn code và nhấn F5 (hoặc Alt+F8 và chạy code) thì được nhưng nhấn vào nút lệnh trên sheet thì code không chạy phải không? Bạn thử click phải vào nút lệnh và Assign Macro lại cho nó là sub Xeplop xem sao.
 
Ngộ nhỉ? Thấy đúng ý mà bấm nút lại không chạy là sao nhỉ?! Có phải là bạn chọn code và nhấn F5 (hoặc Alt+F8 và chạy code) thì được nhưng nhấn vào nút lệnh trên sheet thì code không chạy phải không? Bạn thử click phải vào nút lệnh và Assign Macro lại cho nó là sub Xeplop xem sao.

Em mở ra và bấm sang sheet copy thì thấy đúng rồi , quay trở lại bấm vao nút "chia lớp" thì thấy kg nhúc nhích gì cả anh à.
 
Lần chỉnh sửa cuối:
Lọt sổ .

Giờ thì em hiểu tại sao nó kg " nhảy ds " rồi , có thể nét đã khóa kg cho chạy macro hoặc office cài thiếu.
Tối qua về đưa vào máy nhà thì 'nhảy ds " tốt và copy sang sheet kế cũng tốt ,kể cả chèn dòng và cột đều đúng ý!

Tuy nhiên nó làm "lọt sổ " có khi 4 em , 2 em,1 em chạy ra ngoài cột C đứng ngó chơi .Anh vào xem và hô " nghiêm, nghỉ " để nó vào hàng ngũ lại giùm e nhé ! Thanks!
 

File đính kèm

Giờ thì em hiểu tại sao nó kg " nhảy ds " rồi , có thể nét đã khóa kg cho chạy macro hoặc office cài thiếu.
Tối qua về đưa vào máy nhà thì 'nhảy ds " tốt và copy sang sheet kế cũng tốt ,kể cả chèn dòng và cột đều đúng ý!

Tuy nhiên nó làm "lọt sổ " có khi 4 em , 2 em,1 em chạy ra ngoài cột C đứng ngó chơi .Anh vào xem và hô " nghiêm, nghỉ " để nó vào hàng ngũ lại giùm e nhé ! Thanks!
Sửa lại code một chút, chạy có vẻ đẹp hơn nè:
[GPECODE=vb]Sub Xeplop()
Dim i As Long, j As Long, k As Long
Application.ScreenUpdating = False
Sheet1.Activate
[E5:J15].ClearContents
[C5:C52].Value = [B5:B52].Value
For j = 6 To 15
For k = 1 To 6
If [C10000].End(xlUp).Row = 1 Then GoTo Xong
Range([C5], [C10000].End(xlUp)).Sort [C5], xlAscending, Header:=xlNo
i = WorksheetFunction.RandBetween(5, [C10000].End(xlUp).Row)
Range("D" & j).Offset(, k) = Range("C" & i)
Range("C" & i).ClearContents
Next
Next
Xong: Sheet2.[E5:J15].Value = [E5:J15].Value
Application.ScreenUpdating = True
End Sub[/GPECODE]
 

File đính kèm

Một hàng dọc đằng trước thẳng ?!

Hình như nó sợ anh chứ hổng sợ em ; nó xếp thành 1 hàng rất nghiêm chỉnh ,e bó tay với nó luôn , anh vào huýt còi nhé . ThankS anh !!!
 

File đính kèm

Hình như nó sợ anh chứ hổng sợ em ; nó xếp thành 1 hàng rất nghiêm chỉnh ,e bó tay với nó luôn , anh vào huýt còi nhé . ThankS anh !!!
Có lẽ cái máy của bạn chưa bật Macro lên rồi. Tôi vừa tải file trên về chạy êm ru chứ có vấn đề gì đâu!? Bạn kiểm tra lại vấn đề Enable Macro trên máy bạn xem.
 
Hình như nó sợ anh chứ hổng sợ em ; nó xếp thành 1 hàng rất nghiêm chỉnh ,e bó tay với nó luôn , anh vào huýt còi nhé . ThankS anh !!!
Có lẽ cái máy của bạn chưa bật Macro lên rồi. Tôi vừa tải file trên về chạy êm ru chứ có vấn đề gì đâu!? Bạn kiểm tra lại vấn đề Enable Macro trên máy bạn xem.
Ay za, bây giờ thì tôi hiểu vì sao trên máy bạn, chạy code xong nó lại cứ "Một hàng dọc đằng trước thẳng" rồi. Nguyên nhân là do tôi sử dụng hàm RandBetween mà trên máy bạn (tôi tin chắc là bạn đang xài Excel 2003) không có hàm này nên code chạy không đúng như ý muốn. Thôi thì sửa lại vậy, mượn tạm thêm cột D và hàm RAND của Excel:
[GPECODE=vb]Sub Xeplop()
Dim j As Long, k As Long
Application.ScreenUpdating = False
Sheet1.Activate
[E6:J15].ClearContents
[C5:C52].Value = [B5:B52].Value
[D5:D52] = "=RAND()"
For j = 6 To 15
For k = 1 To 6
If [C10000].End(xlUp).Row = 1 Then GoTo Xong
Range([C5], [C10000].End(xlUp)).Resize(, 2).Sort [D5], xlAscending, Header:=xlNo
Range("D" & j).Offset(, k) = [C10000].End(xlUp)
[C10000].End(xlUp).ClearContents
Next
Next
Xong: Sheet2.[E5:J15].Value = [E5:J15].Value
[D5:D52].ClearContents
Application.ScreenUpdating = True
End Sub[/GPECODE]
 

File đính kèm

Mọi việc đã được anh tận tình giúp đỡ ,phần việc còn lại e sẽ tự mày mò ở phần " J " và " k " khi tăng số lượng lên toàn khối ( chia ds ngẫu nhiên để xắp phòng thi ) hoặc vận dụng vào nhiều cái khác nữa thông qua file chuẩn này.

Cám ơn anh rất nhiều ! Chúc anh NghiaPhuc sức khỏe và mọi sự tốt lành.
 
Mọi việc đã được anh tận tình giúp đỡ ,phần việc còn lại e sẽ tự mày mò ở phần " J " và " k " khi tăng số lượng lên toàn khối ( chia ds ngẫu nhiên để xắp phòng thi ) hoặc vận dụng vào nhiều cái khác nữa thông qua file chuẩn này.

Cám ơn anh rất nhiều ! Chúc anh NghiaPhuc sức khỏe và mọi sự tốt lành.
Chỗ màu đỏ hình như có vấn đề gì đó. Bạn muốn chia phòng thi (sắp xếp học sinh vào danh sách phòng thi) hay là phân công giám thị vậy? Nếu chia phòng thi thì tất nhiên bạn phải sắp xếp Alphabet rồi, còn nếu phân công giám thị thì chỉ sắp xếp ngẫu nhiên là chưa đủ mà nó còn nhiều ràng buộc khác nữa, chẳng hạn: 1 giám thị không coi 1 phòng thi quá 1 buối, 2 giám thị không coi cùng nhau quá 1 lần, giám thị có chuyên môn trùng với môn sẽ thi vào buổi đó thì không nên vào phòng,... Nói chung là có khá nhiều ràng buộc. Và vấn đề phân công giám thị coi thi cũng đã được đề cập khá nhiều trên GPE cũng như trên các diễn đàn khác. Bạn có thể sử dụng chức năng tìm kiếm (của GPE hoặc Google) để tham khảo.

Còn vấn đề tăng j, k hoặc tăng số lượng trong danh sách ở cột B thì không có vấn đề gì. Chẳng hạn: Thay vì câu lệnh:
PHP:
[C5:C52].Value = [B5:B52].Value
bạn có thể thay bởi dãy lệnh:
PHP:
With Range([B5], [B10000].End(xlUp))
    .Offset(, 1).Value = .Value
End With
 
Vâng ! e biết chứ ,cái trên là em chỉ cho ví dụ thôi . e sẽ nhờ anh trên topic khác với vấn đề khác Cám ơn anh nhiều nhiều !
 
Web KT

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

Back
Top Bottom