Cần giúp đỡ về cách tạo bảng kê tự động (1 người xem)

Người dùng đang xem chủ đề này

duytan1102

Thành viên mới
Tham gia
9/2/10
Bài viết
4
Được thích
0
em muốn tạo cái bảng kê hồ sơ vay vốn của khách hàng tự cập nhật danh mục hồ sơ theo từng loại vay để khi nhập nhanh nhất .nhờ các anh chị giúp đỡ.
 

File đính kèm

Lần chỉnh sửa cuối:
bạn thử đoạn code này xem có được ko?

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, [g6]) Is Nothing Then
[b10:c29].ClearContents
Set LRng = Sheet2.Range("myrange")
LV = Application.WorksheetFunction.VLookup(Sheet3.[g6].Value, LRng, 2, 0)
Sheet2.Range(LV).Copy Sheet3.[b10]
End If

End Sub
 

File đính kèm

bạn thử đoạn code này xem có được ko?

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, [g6]) Is Nothing Then
[b10:c29].ClearContents
Set LRng = Sheet2.Range("myrange")
LV = Application.WorksheetFunction.VLookup(Sheet3.[g6].Value, LRng, 2, 0)
Sheet2.Range(LV).Copy Sheet3.[b10]
End If

End Sub
Câu lệnh Intersect trong bài này hơi kỳ kỳ bạn ơi.
Target chỉ có 1 ô thôi thì sao không dùng If target. Address= $G$6 then
Mình cũng ít xài câu lệnh này nên không chắc lắm
 
do quen viết nên đụng chuyện thì viết luôn,(không có kinh nghiệm nhiều mà....hihi2)
theo anh giữa 2 câu lệnh này có gì khác biệt ko anh (hỏi thiệt để học kinh nghiệm đó)
 
do quen viết nên đụng chuyện thì viết luôn,(không có kinh nghiệm nhiều mà....hihi2)
theo anh giữa 2 câu lệnh này có gì khác biệt ko anh (hỏi thiệt để học kinh nghiệm đó)
Mình thì lại quá ít dùng phương thức intersect nên lại thấy nó không quen lắm.
Phương thức intersect chủ yếu là tìm ra phần giao nhau của 2 vùng.
Còn thuộc tính Address thì trả về địa chỉ của 1 vùng nào đó.
........
Mình cũng chỉ mày mò và tạm hiểu thế thôi. Nếu có gì sai thì mong các bậc anh chị bổ sung góp ý giúp.

Bạn test 3 sub này xem thì rõ hơn
PHP:
Sub test1()
If Not Intersect([A1:B10], [B1:D10]) Is Nothing Then
   MsgBox True
Else
   MsgBox False
End If
End Sub
....................
Sub test2()
If Not Intersect([A1:B10], [C1:D10]) Is Nothing Then
   MsgBox True
Else
   MsgBox False
End If
End Sub
..............
Sub test3()
Dim vung_giao_nhau
Set vung_giao_nhau = Intersect([A1:B10], [B5:D15])
If Not Intersect([A1:B10], [B5:D15]) Is Nothing Then
   vung_giao_nhau.Select
End If
End Sub
 
Lần chỉnh sửa cuối:
Mình thì lại quá ít dùng phương thức intersect nên lại thấy nó không quen lắm.
Phương thức intersect chủ yếu là tìm ra phần giao nhau của 2 vùng.
Còn thuộc tính Address thì trả về địa chỉ của 1 vùng nào đó.
........
Mình cũng chỉ mày mò và tạm hiểu thế thôi. Nếu có gì sai thì mong các bậc anh chị bổ sung góp ý giúp.
Về intersect Bác Sa đã có bài viết hưỡng dẫn cụ thể rồi anh ah.
http://www.giaiphapexcel.com/forum/showthread.php?480-Bước-đầu-về-phương-thức-Intersect
 
hic. em mún khi chọn loại vay thì bảng danh mục hồ sơ và số lượng tự hiển thị luôn .nhờ các cao thủ chỉ giùm cách làm
Capture.JPG
 
thì làm vậy rồi còn gì nữa, thí dụ ở mục G6 chọn "Có đảm bảo bằng tài sản" thì nó sẻ chép dữ liệu từ A5:B17 của sheet TT qua đây.
bạn đặt tên trong list (sử dụng làm validation) không giống với các mục của cột A, nên mình ko biết mục nào đi với range nào.
mình copy lại các đề mục vào list này, còn ko đúng nữa thì pó tay. ko hiểu ý bạn
 

File đính kèm

Bác nhapmon cho em hỏi bác làm thế nào mà hay vậy,em muốn học cách làm
 
nói sao ta, mình sử dụng code, chỉ là các lệnh copy bình thường thôi.
nếu bạn biết vba căn bản thì có thể làm được ah.
dể giải thích các lệnh như sau:
Private Sub Worksheet_Change(ByVal Target As Range) ' lệnh này kích hoạt macro khi có thay đổi ở một cell nào đó ở sheet3

If Not Intersect(Target, [g6]) Is Nothing Then ' lệnh này là chỉ định khi thay đổi nội dung ở cell G6 thì macro chạy
[b10:c29].ClearContents ' xóa vùng B10:C29
Set LRng = Sheet2.Range("myrange") ' set vùng tìm kiếm ở sheet2, dùng để sử dụng trong hàm vlookup bên dưới
LV = Application.WorksheetFunction.VLookup(Sheet3.[g6].Value, LRng, 2, 0) ' hàm vlookup tìm tên trong ô G6 so với range set ở trên (ở sheet 2), khi tìm được thì trả về cột 2 (ở đây mình đặt các tên vùng và các tên này sử dụng làm define name)
Sheet2.Range(LV).Copy Sheet3.[b10] 'copy các tên vùng tìm được qua ô b10 sheet3.

End If

End Sub

nói chung bạn có biết về vba căn bản là làm được
 
;;;;;;;;;;; hic gà quá. chắc phải học VBA thôi,tưởng chỉ dùng hàm thôi chứ.thanks bác nhá
 

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

Back
Top Bottom