xin hỏi về sự kết hợp hàm !

Liên hệ QC

atuan142

Thành viên mới
Tham gia
10/10/13
Bài viết
30
Được thích
9
Nghề nghiệp
Thống kê viên
Các cao thủ cho e hỏi sao em dùng hàm này nó báo về #REF! ạ !
=OFFSET(INDIRECT(ADDRESS(MATCH($B$4;'TT Di Linh '!$B:$B;0);2;;;"TT Di Linh"));8;2)
Không hiểu có phải cái hàm offset không tham chiếu được sang sheet khác hay không nhưng nếu làm cùng sheet thì thấy kết quả đúng !
Em xin gửi file đính kèm luôn ạ !!!!
 

File đính kèm

  • Nhap tin quy 2 THỬ NGHIỆM.xls
    638.5 KB · Đọc: 8
Các cao thủ cho e hỏi sao em dùng hàm này nó báo về #REF! ạ !
=OFFSET(INDIRECT(ADDRESS(MATCH($B$4;'TT Di Linh '!$B:$B;0);2;;;"TT Di Linh"));8;2)
Không hiểu có phải cái hàm offset không tham chiếu được sang sheet khác hay không nhưng nếu làm cùng sheet thì thấy kết quả đúng !
Em xin gửi file đính kèm luôn ạ !!!!
Do cái này: D12=OFFSET(INDIRECT(ADDRESS(MATCH($B$4,'TT Di Linh '!$B:$B,0),2,1,1,"TT Di Linh")),8,1)
Phải là vầy mới đúng: =OFFSET(INDIRECT(ADDRESS(MATCH($B$4,'TT Di Linh '!$B:$B,0),2,1,1,"TT Di Linh ")),8,1). Bạn chú ý
sheet TT Di Linh còn 1 ký tự trắng phía sau nó
 
Do cái này: D12=OFFSET(INDIRECT(ADDRESS(MATCH($B$4,'TT Di Linh '!$B:$B,0),2,1,1,"TT Di Linh")),8,1)
Phải là vầy mới đúng: =OFFSET(INDIRECT(ADDRESS(MATCH($B$4,'TT Di Linh '!$B:$B,0),2,1,1,"TT Di Linh ")),8,1). Bạn chú ý
sheet TT Di Linh còn 1 ký tự trắng phía sau nó
ok, em làm được rồi, cảm ơn Anh !!! Hehe gà quá !!!!
 
Anh ơi, cho em làm phiền tí , em muốn nhập liệu từ sheet1 sang sheet('Di Linh'), trong đó 1 hộ có 3 cột 1,2,3 . em cũng có tham khảo một số bài trên mạng mà sao viết mãi không được, anh giúp em với!! Em xin gửi file đính kèm !!
 

File đính kèm

  • Nhap lieu.xlsx
    36.3 KB · Đọc: 6
Anh ơi, cho em làm phiền tí , em muốn nhập liệu từ sheet1 sang sheet('Di Linh'), trong đó 1 hộ có 3 cột 1,2,3 . em cũng có tham khảo một số bài trên mạng mà sao viết mãi không được, anh giúp em với!! Em xin gửi file đính kèm !!
Bạn sử dụng thử code sau:
Mã:
Sub NHAPLIEU()
Dim Rng As Range
 Set Rng = Sheet2.Rows(2).Find(Sheet1.Range("E2"))
 If Rng Is Nothing Then
    MsgBox "Khong tim thay ho so " & Sheet1.Range("E2")
 Else
    Sheet2.Cells(5, Rng.Column).Resize(23, 3).Value = Sheet1.Range("E5:G27").Value
 End If
End Sub
 
Bạn sử dụng thử code sau:
Mã:
Sub NHAPLIEU()
Dim Rng As Range
Set Rng = Sheet2.Rows(2).Find(Sheet1.Range("E2"))
If Rng Is Nothing Then
    MsgBox "Khong tim thay ho so " & Sheet1.Range("E2")
Else
    Sheet2.Cells(5, Rng.Column).Resize(23, 3).Value = Sheet1.Range("E5:G27").Value
End If
End Sub
cái này chỉ nhập được cho hộ đầu tiên, vậy trong trường hợp hộ thứ 2, khi bấm nhập liệu thông tin không nhảy sang các cột kế tiếp hả anh???
Ví dụ: khi nhập cho hộ đầu tiên là Nguyễn Thị Huệ nó sẽ nằm trong các cột E,F,G cảu sheet2 và nhập cho hộ tiếp theo là Trần Thị Lan nó sẽ nhảy sang 3 cột kế tiếp của sheet2 !
 
cái này chỉ nhập được cho hộ đầu tiên, vậy trong trường hợp hộ thứ 2, khi bấm nhập liệu thông tin không nhảy sang các cột kế tiếp hả anh???
Ví dụ: khi nhập cho hộ đầu tiên là Nguyễn Thị Huệ nó sẽ nằm trong các cột E,F,G cảu sheet2 và nhập cho hộ tiếp theo là Trần Thị Lan nó sẽ nhảy sang 3 cột kế tiếp của sheet2 !
Bạn thử áp dụng code đi rồi tính tiếp nhé.
 
Đấy là trong trường hợp row(2) đã có đầy đủ thông tin, tuy nhiên khi row(2) trống thì sao ạ???
Vì công việc của em là phải nhập tin từng phiếu cho từng hộ. Em nghĩ là nó phải chạy một code trước đó là : khi nhập hộ thứ 2,3,4,5... tại "E2" của sheet1 thì nó sẽ chạy đến các ô tiếp theo của E2,E5,E8,E11...của sheet2 ( cách 3 cột ) rồi mới chạy code trên, tuy nhiên em làm mãi không được. Nhờ anh ( chị) giúp hộ.
 
Đấy là trong trường hợp row(2) đã có đầy đủ thông tin, tuy nhiên khi row(2) trống thì sao ạ???
Vì công việc của em là phải nhập tin từng phiếu cho từng hộ. Em nghĩ là nó phải chạy một code trước đó là : khi nhập hộ thứ 2,3,4,5... tại "E2" của sheet1 thì nó sẽ chạy đến các ô tiếp theo của E2,E5,E8,E11...của sheet2 ( cách 3 cột ) rồi mới chạy code trên, tuy nhiên em làm mãi không được. Nhờ anh ( chị) giúp hộ.
Bạn xài thử file này coi sao.
Chú ý nếu là người đầu tiên thì phải nhập số hộ người đó vào ô E2 và tiêu đề cột cho E3:G4 trong sheet2.
(Sheet2 đặt tên có dấu cách phía sau, "quái chiêu"! Làm khổ nhau thôi.)
 

File đính kèm

  • Nhap lieu.rar
    31.7 KB · Đọc: 6
Lần chỉnh sửa cuối:
Ôi em hiểu rồi, thanks anh Ba Tê nhiều, code tuyệt quá !!!!
 
Lần chỉnh sửa cuối:
Anh Ba Tê cho em hỏi code :
For J = 5 To col Step 3
If Sheet2.Cells(2, J).Value = MaSo Then
Sheet2.Cells(5, J).Resize(R, 3) = Arr
DK = True: Exit For
End If
cái này giải thích như thế nào ạ??? mục đích của nó là gì ạ ??? Cảm ơn anh !!!
Mục đích tìm số hộ trên dòng 2 sheet2, nếu có thì gán dữ liệu vào, nếu không có thì tạo mới 3 cột mới rồi gán..
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom