xin hỏi đoạn code này lỗi ở chỗ nào

  • Thread starter Thread starter giaosy
  • Ngày gửi Ngày gửi
Liên hệ QC

giaosy

Thành viên thường trực
Tham gia
6/12/06
Bài viết
205
Được thích
144
Sub xu_ly_data()
Dim i, j, x As Integer
Dim dc, SR
Dim wsh As Worksheet
Set SR = Sheets("DATA").Range("A1:C4")
i = 2
j = 1
Application.ScreenUpdating = False
For x = 2 To ThisWorkbook.Worksheets.Count
Set wsh = Sheets(x)
wsh.Activate
dc = ActiveSheet.Range("A1").End(xlDown).Row
If Cells(i, j).Value = "" Then
For j = 1 To 3
Cells(i, j).Value = WorksheetFunction.VLookup(wsh.Name, SR, j, 0)
Next j
Else
For j = 1 To 3
Cells(dc, j).Offset(1).Value = WorksheetFunction.VLookup(wsh.Name, SR, j, 0)
Next j
End If
Next
Application.ScreenUpdating = True
End Sub

thanks các bác đã quan tâm -\\/.
 
Lần chỉnh sửa cuối:
Bạn nên gửi file đính kèm để anh em xem và test lại cho dễ nha.
Theo mình có thể lỗi ở ngay chổ hàm Vlookup. Mình xem thấy cấu trúc For Next nó sao sao ấy. Bạn gửi file lên nha.
 
Upvote 0
Không hiểu nó sai ở chỗ nào mà dữ liệu chỉ điền vào sheet đầu tiên (t2) còn sheet t1 và t3 thì chỉ điền dòng đầu tiên, sau đó không điền tiếp nữa. Theo em nghĩ thì chắc cái vòng for next có vấn đề. hic
Mong các bác tiếp tục chỉ giúp.-+*/-+*/
file đây, các bác giúp em với
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Không hiểu nó sai ở chỗ nào mà dữ liệu chỉ điền vào sheet đầu tiên (t2) còn sheet t1 và t3 thì chỉ điền dòng đầu tiên, sau đó không điền tiếp nữa. Theo em nghĩ thì chắc cái vòng for next có vấn đề. hic
Mong các bác tiếp tục chỉ giúp.-+*/-+*/
file đây, các bác giúp em với
Bạn nói mục đích của mình cho dể hình dung... chứ nhìn code... viết lằng nhằng quá (e rằng phải sửa lại toàn bộ)
 
Upvote 0
to bác ndu9608631:
bác cứ tải cái file của em về chạy thử code đó là hiểu ngay mà. hic
mong các bác tiếp tục giúp đỡ. thanks
 
Upvote 0
Upvote 0
Không hiểu nó sai ở chỗ nào mà dữ liệu chỉ điền vào sheet đầu tiên (t2) còn sheet t1 và t3 thì chỉ điền dòng đầu tiên, sau đó không điền tiếp nữa. Theo em nghĩ thì chắc cái vòng for next có vấn đề. hic
Mong các bác tiếp tục chỉ giúp.-+*/-+*/
file đây, các bác giúp em với

Mình sửa lại code cho ngắn gọn một tí
PHP:
Sub xu_ly_data()
Dim i As Long, j As Byte, x As Byte
Dim SR As Range
Set SR = Sheets("DATA").Range("A1:C4")
Application.ScreenUpdating = False
For x = 2 To ThisWorkbook.Worksheets.Count
    With Sheets(x)
        i = .[A65536].End(xlUp).Row + 1
        For j = 1 To 3
            .Cells(i, j).Value = WorksheetFunction.VLookup(.Name, SR, j, 0)
        Next
    End With
Next
Application.ScreenUpdating = True
End Sub
 
Upvote 0
thanks các bác hai bài đó gần giống nhau thôi. hic
 
Upvote 0
Web KT

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

Back
Top Bottom