Võ Thiếu Gia
Thành viên hoạt động
- Tham gia
- 19/7/08
- Bài viết
- 105
- Được thích
- 54
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
Range("C6:C1000").SpecialCells(4).EntireRow.Delete
End If
End Sub
Sao không đơn giản là:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 3 Then Range("C6:C1000").SpecialCells(4).EntireRow.Delete End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 3 Then
ListObjects("List1").Resize Range("B6:G" & [C6].End(xlDown).Row)
End If
End Sub
vậy thử cái này xem:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column = 3 Then ListObjects("List1").Resize Range("B6:G" & [C6].End(xlDown).Row) End If End Sub
Đương nhiên im re vì nó đâu có giống với file đầu bạn đưa lênCái code này trong Form này thì nó nhảy bính thường.
Nhưng ở cái form của mình. Không biết sao nó đứng im.
Giúp mình giải quyết cái form này với
Thanks
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 3 Then
ListObjects("List1").Resize Range("A9:H" & [C9].End(xlDown).Row + 1)
End If
End Sub
Đương nhiên im re vì nó đâu có giống với file đầu bạn đưa lên
Chẳng hạn có thể sửa như sau:
Bạn chú ý vị trí dòng cột, sao cho phù hợp với code là được rồiPHP:Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column = 3 Then ListObjects("List1").Resize Range("A9:H" & [C9].End(xlDown).Row + 1) End If End Sub
Không cần With.. End With đâu... vì đây là sự kiện WorkSheet_Change, code được đặt ngay trong sheet, vậy đâu cần gọi tên sheet ra chứ
Target: nghĩa là cell mà bạn đang chọn để làm thứ gì đó (Nôm na là ActiveCell)
If Target.Column = 3 then ... : Nếu ta đụng chạm, thay đổi gì đó trong cột 3 (tức cột C) thì...
[C9].End(xlDown): Tương đương với việc bạn đặt con trỏ tại C9, bấm Ctrl + mũi tên xuống (mục đích là xem dòng cuối cùng có dử liệu là dòng thứ mấy)
Với file của bạn, hãy xóa With.. End With... sau đó thử gõ gì đó vào cột C... rồi xóa chúng xem thế nào nhé
Ở đây, mình không đụng chạm gì đến Cột C. Mà chỉ cột B thôi. Bởi chỉ nhập Mã SP. Mình đã sửa code lại như sau:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then
ListObjects("List1").Resize Range("A9:H" & [B10].End(xlDown).Row + 1)
End If
End Sub
Tuy nhiên lại xãy ra vấn đề: Là khi nó rút ngắn lên. Các dòng Tổng Cộng - Chiết Khấu Nhóm, Chiết Khấu nhóm, Thanh Toán không rút lên theo
Như trong File mình làm. Bạn xem thử[/quot
Các Bác ơi, giúp mình chổ này với. Bí quá