Như trong file là xóa hết cột thứ tự từ dòng 5 tới dòng 24Em có file Excel như sau:
có cột số thư tự (STT) và cột "Ngày"
Yêu cầu: - khi nhập tại cột "Ngày" đến số thứ tự 21 thì sẽ xóa hết cột "Ngày để nhập lại từ đầu ^^.
Mong các cao nhân giúp ạ, chân thành cảm ơn.
nếu nhập cột Ngày tới dòng số thứ tự 25 thì sẽ tự động xóa hết cột ngàyNhư trong file là xóa hết cột thứ tự từ dòng 5 tới dòng 24
và nhập stt là 1 bắt đầu từ dòng 25 à
thế rồi điền cái gì ở dòng 25 khôngnếu nhập cột Ngày tới dòng số thứ tự 25 thì sẽ tự đọng xóa hết cột ngày
tại đó thì không điền gì hết ạ, tới cột đó thì Clear từ B4:B24 để mình nhập tay lại từ dầu ^^thế rồi điền cái gì ở dòng 25 không
Chẳng biết đúng ý bạn không nữatại đó thì không điền gì hết ạ, tới cột đó thì Clear từ B4:B24 để mình nhập tay lại từ dầu ^^
hi, chưa đứng ý nhưng từ code của bạn mình điều chỉnh lại đc, cảm ơn bạn rất nhiều ^^Chẳng biết đúng ý bạn không nữa
Hihi. Câu này được sửa rồi sao màtại đó thì không điền gì hết ạ, tới cột đó thì Clear từ B4:B24 để mình nhập tay lại từ dầu ^^
Bạn ơi, sửa không ok lắm nhờ bạn viết lại tí theo yêu cầu nha:Hihi. Câu này được sửa rồi sao mà
Chà chà, vụ này lại còn hướng dẫn cả người giúp nữa ta.bác viết code tạo Module ấy.
Bác tuấn giúp vớiChà chà, vụ này lại còn hướng dẫn cả người giúp nữa ta.
Bài này của bạn không hợp lý để thực hiện. Khi điền đến dòng thứ tự số 21 thì xóa luôn rồi nên điền vào vô nghĩa.Bác tuấn giúp với
Có thể khi nhập dữ liệu tới dòng có số thứ tự 21 thì dữ liệu trong cột chạy đi chỗ khác và làm một công việc gì đó, còn những em ở lại phải xoá đi để trở lại công việc từ đầuBài này của bạn không hợp lý để thực hiện. Khi điền đến dòng thứ tự số 21 thì xóa luôn rồi nên điền vào vô nghĩa.
Anh à, theo ý chủ bài thì điền đến dòng đấy sẽ tự động xóa luôn, nếu Enter thì đã xóa mất rồi nên em nghĩ dữ liệu tại ô vừa nhập đó chưa kịp chạy đi đâu cả đã bị xóa rồi anh ạ. (Cũng chỉ là đoán mò vì thông tin của chủ bài chỉ có vậy anh nhỉ).Có thể khi nhập dữ liệu tới dòng có số thứ tự 21 thì dữ liệu trong cột chạy đi chỗ khác và làm một công việc gì đó, còn những em ở lại phải xoá đi để trở lại công việc từ đầu
Chỉ là có thể. Híc
Thân
Bi giờ tui với bạn, anh em mình....đoán mò nhé, khi nhập tới hàng cuối cùng ( dòng 21), Enter xong, code ra lệnh làm cái gì đó trước, sau đó mới ra lệnh xoá, nhảy lên dòng 1, nhập tiếp cái gì đó. Có thể bạn đó viết được code kia nhưng chưa viết được code xoá nên nhờ làm một code thôi. Híc, hên xui, đoán mò màAnh à, theo ý chủ bài thì điền đến dòng đấy sẽ tự động xóa luôn, nếu Enter thì đã xóa mất rồi nên em nghĩ dữ liệu tại ô vừa nhập đó chưa kịp chạy đi đâu cả đã bị xóa rồi anh ạ. (Cũng chỉ là đoán mò vì thông tin của chủ bài chỉ có vậy anh nhỉ).
Em thì đoán hơi khác, nếu đã viết được code làm việc khác thì việc viết đoạn xóa còn nhanh hơn mà anh nhỉ. Nhưng anh em mình cũng vẫn đang là thầy bói đoán voi.Bi giờ tui với bạn, anh em mình....đoán mò nhé, khi nhập tới hàng cuối cùng ( dòng 21), Enter xong, code ra lệnh làm cái gì đó trước, sau đó mới ra lệnh xoá, nhảy lên dòng 1, nhập tiếp cái gì đó. Có thể bạn đó viết được code kia nhưng chưa viết được code xoá nên nhờ làm một code thôi. Híc, hên xui, đoán mò mà
Thân
2 bác ơi: mình có file Excel sau: nhờ 2 bác viết hộ code xóa tự động ạ.Bi giờ tui với bạn, anh em mình....đoán mò nhé, khi nhập tới hàng cuối cùng ( dòng 21), Enter xong, code ra lệnh làm cái gì đó trước, sau đó mới ra lệnh xoá, nhảy lên dòng 1, nhập tiếp cái gì đó. Có thể bạn đó viết được code kia nhưng chưa viết được code xoá nên nhờ làm một code thôi. Híc, hên xui, đoán mò mà
Thân
chép đoạn code sau vào trong VbE của Sh G_N và chạy thử2 bác ơi: mình có file Excel sau: nhờ 2 bác viết hộ code xóa tự động ạ.
yêu cầu:
- 1. số tứ tự không xóa.
- 2.chỉ xóa cột ngày khi nhập ngày tháng tại B24 và enter qua B25 là Clear B4:B24 là được ạ.
File này là một cái bảng kê thôi, do mình làm biếng xóa tay nên nhờ các cao nhân có code hay cho mình xin ạ.
code đang viết:
Sub InG_N()
Dim form As Worksheet
Dim G_N As Worksheet
Set G_N = ThisWorkbook.Sheets("G_N")
''''''''''copy danh sach''''''''
Dim hang_cuoi As Long
hang_cuoi = G_N.Range("B2").Value + 4
G_N.Range("B" & hang_cuoi).Value = G_N.Range("B1").Value
''''''''iN DU LIEU'''''''
On Error GoTo baoloi:
G_N.Select
ActiveWindow.SelectedSheets.PrintOut From:=1, to:=1, Copies:=1, Collate:=True
baoloi:
''''''''XOA DU LIEU'''''''
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$24" Then Range("B4:B24").ClearContents
End Sub
không ổn tí nàochép đoạn code sau vào trong VbE của Sh G_N và chạy thử
Trúng-Chật -Hên - Sui
Mã:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$24" Then Range("B4:B24").ClearContents End Sub
nó chạy rồi, nhưng mình phải dùng phím xuống dòng thì nó mới xóa, còn mình đã tạo nút nhập phía trên mình ấn nút thì nó tự động nhập ngày hiện tại vào, khi nhập qua dòng số 24 nó không hiểu lệnh xóa tự động ban ơi.sao vậy? Khi nhập đến ô B25 enter thì ns sẽ xóa hết Từ B4:B24 mà.
Khổ cái là bạn không đưa ra ý muốn và file đính kèm cụ thể.nó chạy rồi, nhưng mình phải dùng phím xuống dòng thì nó mới xóa, còn mình đã tạo nút nhập phía trên mình ấn nút thì nó tự động nhập ngày hiện tại vào, khi nhập qua dòng số 24 nó không hiểu lệnh xóa tự động ban ơi.
Bài đã được tự động gộp:
mình có ý này, tại ô B2 trong file đã gửi mình có dùng công thức COUNTA(B3:B25)-1, điều kiện khi B2>21 thì xóa từ B4:B24 và không thực hiện lệnh in nữa.
Sub InG_N()
Dim form As Worksheet
Dim G_N As Worksheet
Set G_N = ThisWorkbook.Sheets("G_N")
''''''''''copy danh sach''''''''
Dim hang_cuoi As Long
hang_cuoi = G_N.Range("B2").Value + 4
If hang_cuoi < 25 Then
G_N.Range("B" & hang_cuoi).Value = G_N.Range("B1").Value
''''''''iN DU LIEU'''''''
On Error GoTo baoloi:
G_N.Select
ActiveWindow.SelectedSheets.PrintOut From:=1, to:=1, Copies:=1, Collate:=True
Else
G_N.Range("B4:B25").ClearContents
End If
baoloi:
''''''''XOA DU LIEU'''''''
End Sub
Chân thành cảm ơn bác nhiều, để mình chạy và báo cáo kết quả nhanh ^^Khổ cái là bạn không đưa ra ý muốn và file đính kèm cụ thể.
Như file bạn Up lện thì bạn thay code cũ bằng code này (vẫn là code của bạn có sửa tý chút)
Chúc Khỏe, vui thành công và an toàn trong đại dịchMã:Sub InG_N() Dim form As Worksheet Dim G_N As Worksheet Set G_N = ThisWorkbook.Sheets("G_N") ''''''''''copy danh sach'''''''' Dim hang_cuoi As Long hang_cuoi = G_N.Range("B2").Value + 4 If hang_cuoi < 25 Then G_N.Range("B" & hang_cuoi).Value = G_N.Range("B1").Value ''''''''iN DU LIEU''''''' On Error GoTo baoloi: G_N.Select ActiveWindow.SelectedSheets.PrintOut From:=1, to:=1, Copies:=1, Collate:=True Else G_N.Range("B4:B25").ClearContents End If baoloi: ''''''''XOA DU LIEU''''''' End Sub
Đã chạy thành công và đúng ý rồi bác ơi, hết dịch có dịp mời bác nhậu nhé ^^ chân thành cảm ơn rất nhiều và rất nhiều.Khổ cái là bạn không đưa ra ý muốn và file đính kèm cụ thể.
Như file bạn Up lện thì bạn thay code cũ bằng code này (vẫn là code của bạn có sửa tý chút)
Chúc Khỏe, vui thành công và an toàn trong đại dịchMã:Sub InG_N() Dim form As Worksheet Dim G_N As Worksheet Set G_N = ThisWorkbook.Sheets("G_N") ''''''''''copy danh sach'''''''' Dim hang_cuoi As Long hang_cuoi = G_N.Range("B2").Value + 4 If hang_cuoi < 25 Then G_N.Range("B" & hang_cuoi).Value = G_N.Range("B1").Value ''''''''iN DU LIEU''''''' On Error GoTo baoloi: G_N.Select ActiveWindow.SelectedSheets.PrintOut From:=1, to:=1, Copies:=1, Collate:=True Else G_N.Range("B4:B25").ClearContents End If baoloi: ''''''''XOA DU LIEU''''''' End Sub
Cảm ơn bạn nhé! Nghe thấy có nhậu là mình "mừng" rồi. Mình bị tai biến nhẹ nên không có nhiều hứng thú với rượi, bia.Chân thành cảm ơn bác nhiều, để mình chạy và báo cáo kết quả nhanh ^^
Bài đã được tự động gộp:
Đã chạy thành công và đúng ý rồi bác ơi, hết dịch có dịp mời bác nhậu nhé ^^ chân thành cảm ơn rất nhiều và rất nhiều.
xa vại, mình ở Quy Nhơn, khi nào hết dịch bác ghé chơi giao lưu nhé. Không bia rượu thì cafe trà nước cũng đc mà ^^Cảm ơn bạn nhé! Nghe thấy có nhậu là mình "mừng" rồi. Mình bị tai biến nhẹ nên không có nhiều hứng thú với rượi, bia.
Mà bạn ở đâu mà mời mình nhậu đấy?- Mình ở Nghệ An cơ mà.
Quá đã tối nay mừng ghê ^^ mình có được 2 bác hướng dẫn rất nhiệt tình, cảm ơn bạn rất nhiều về code trên nhé, rất ổn định.Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$25" Then Range("B4:B24").ClearContents
If Me.Range("B4").Value = "" Then
Me.Range("B25").ClearContents
'Me.Range("B4").Select
End If
End Sub
sửa thêm chút là được mà nhỉ![]()