truckhoa2006
Thành viên hoạt động



- Tham gia
- 3/10/07
- Bài viết
- 155
- Được thích
- 16
Sợ post cuối cũng cũng bị các anh cho vào bài vi phạm ha ha. Em xin post lại :
Anh Mr.Bum đã cho em công thức rồi. Nhưng có một thành viên tên : "nginh" đã viết cho em 1 đoạn code để xử lý xuất dữ liệu sheet KTDM rất hay.
EM đã nghiên cứu kỹ nhưng vẫn không hiểu được đoạn code này.
Em rất muốn sử dụng đoạn code này, vì nó nhẹ cho file.
Nhưng vì lần trước em được các anh chị và các thầy giúp viết 1 đoạn code lệnh in theo yêu cầu, cuối cùng khi sai không biết đâu mà tìm luôn.
Code này có 1 cái nữa là khi em copy đoạn code vào file của em thì nó dùng rất ổn . Nhưng khi tắt file mở lên lại thì nó biến mất đoạn code này.
Rất mong các anh chị, các thầy cô giải thích dùm em.
Em không dám post câu hỏi này vào bài viết theo link vì sợ hỏi ở đó sẽ bị khoá nick.
Em cám ơn.
Code:
Private Sub Worksheet_Change(ByVal target As Range)
On Error Resume Next
Dim a()
If target.Column = 2 Then
If target.Count = 1 Then
If WorksheetFunction.CountIf(Sheets("DMCB").UsedRange.Columns(2), target) Then
target.Offset(, 1).Resize(7, 3).ClearContents
Set NL = Sheets("DMCB").[C3:N3]
ReDim a(1 To 7, 1 To 3)
Set r = Sheets("DMCB").Cells.Find(target, [A1])
Set c = NL.Offset(1).Cells(1)
Do While c = "SL"
If c.Offset(r.Row - c.Row) <> 0 Then
i = i + 1
a(i, 1) = c.Offset(-1)
a(i, 2) = c.Offset(r.Row - c.Row)
a(i, 3) = c.Offset(r.Row - c.Row, 1)
End If
Set c = c.Offset(, 2)
Loop
target.Offset(, 1).Resize(i, 3) = a
target.Offset(1) = c.Offset(r.Row - c.Row)
End If
End If
End If
End Sub
Anh Mr.Bum đã cho em công thức rồi. Nhưng có một thành viên tên : "nginh" đã viết cho em 1 đoạn code để xử lý xuất dữ liệu sheet KTDM rất hay.
EM đã nghiên cứu kỹ nhưng vẫn không hiểu được đoạn code này.
Em rất muốn sử dụng đoạn code này, vì nó nhẹ cho file.
Nhưng vì lần trước em được các anh chị và các thầy giúp viết 1 đoạn code lệnh in theo yêu cầu, cuối cùng khi sai không biết đâu mà tìm luôn.
Code này có 1 cái nữa là khi em copy đoạn code vào file của em thì nó dùng rất ổn . Nhưng khi tắt file mở lên lại thì nó biến mất đoạn code này.
Rất mong các anh chị, các thầy cô giải thích dùm em.
Em không dám post câu hỏi này vào bài viết theo link vì sợ hỏi ở đó sẽ bị khoá nick.
Em cám ơn.
Code:
Private Sub Worksheet_Change(ByVal target As Range)
On Error Resume Next
Dim a()
If target.Column = 2 Then
If target.Count = 1 Then
If WorksheetFunction.CountIf(Sheets("DMCB").UsedRange.Columns(2), target) Then
target.Offset(, 1).Resize(7, 3).ClearContents
Set NL = Sheets("DMCB").[C3:N3]
ReDim a(1 To 7, 1 To 3)
Set r = Sheets("DMCB").Cells.Find(target, [A1])
Set c = NL.Offset(1).Cells(1)
Do While c = "SL"
If c.Offset(r.Row - c.Row) <> 0 Then
i = i + 1
a(i, 1) = c.Offset(-1)
a(i, 2) = c.Offset(r.Row - c.Row)
a(i, 3) = c.Offset(r.Row - c.Row, 1)
End If
Set c = c.Offset(, 2)
Loop
target.Offset(, 1).Resize(i, 3) = a
target.Offset(1) = c.Offset(r.Row - c.Row)
End If
End If
End If
End Sub