Cách copy theo điều kiện giữ nguyên "hyperlink"

Liên hệ QC

biboylenka1

Thành viên hay hỏi
Tham gia
13/5/21
Bài viết
109
Được thích
97
Giới tính
Nam
Em xin chào các anh chị!
Em có một tập tin excel "Vidu" trong đó có 2 sheet là "DanhSach" và sheet "ChiTiet". Trong đó sheet "DanhSach" có các thông tin và cột "Đính kèm" đã được nhập và tạo "hyperlink".
Mong muốn của em là khi thay đổi thông tin trong trong sheet "ChiTiet" thì sẽ lấy được các thông tin tương ứng từ sheet "DanhSach" mà vẫn giữ nguyên được "hyperlink".
Em có mô tả chi tiết hơn và điền tay kết quả mong muốn trong tập tin đính kèm.
Mong anh chị giúp đỡ.
 

File đính kèm

  • Vi du.zip
    19.1 KB · Đọc: 6
Em xin chào các anh chị!
Em có một tập tin excel "Vidu" trong đó có 2 sheet là "DanhSach" và sheet "ChiTiet". Trong đó sheet "DanhSach" có các thông tin và cột "Đính kèm" đã được nhập và tạo "hyperlink".
Mong muốn của em là khi thay đổi thông tin trong trong sheet "ChiTiet" thì sẽ lấy được các thông tin tương ứng từ sheet "DanhSach" mà vẫn giữ nguyên được "hyperlink".
Em có mô tả chi tiết hơn và điền tay kết quả mong muốn trong tập tin đính kèm.
Mong anh chị giúp đỡ.
Thử code này coi thế nào
Mã:
Sub ABC()
    Dim HM$, Rng As Range
    Sheets("ChiTiet").Range("A1:D10000").Clear
    HM = Sheets("ChiTiet").Range("G1").Value
    If Sheets("DanhSach").AutoFilterMode = True Then Sheets("DanhSach").AutoFilterMode = False
    Set Rng = Sheets("DanhSach").Range("A1:D" & Sheets("DanhSach").Range("A" & Rows.Count).End(3))
    Rng.AutoFilter 2, HM
    Rng.SpecialCells(12).Copy Sheets("ChiTiet").Range("A1")
    Sheets("DanhSach").AutoFilterMode = False
End Sub
 
Upvote 0
Thử code này coi thế nào
Mã:
Sub ABC()
    Dim HM$, Rng As Range
    Sheets("ChiTiet").Range("A1:D10000").Clear
    HM = Sheets("ChiTiet").Range("G1").Value
    If Sheets("DanhSach").AutoFilterMode = True Then Sheets("DanhSach").AutoFilterMode = False
    Set Rng = Sheets("DanhSach").Range("A1:D" & Sheets("DanhSach").Range("A" & Rows.Count).End(3))
    Rng.AutoFilter 2, HM
    Rng.SpecialCells(12).Copy Sheets("ChiTiet").Range("A1")
    Sheets("DanhSach").AutoFilterMode = False
End Sub
Mấy bạn hay dùng số chỗ này (thành ra thấy bí ẩn quá) chứ tôi thích dùng hằng số VBA cho tường minh: Rng.SpecialCells(xlCellTypeVisible)
 
Upvote 0
Hihi. Anh hình dung là nhiều khi em không nhớ từ ấy. Chỉ ấn tượng nó là con số. Nên bập vào cho nó nhanh.
Hằng VBA được hỗ trợ tìm nên cũng dễ cho mình chứ. Cứ Ctrl+Space bar xong gõ xlcell là có danh sách gợi nhớ liền. Chỉ cần nhớ hằng bắt đầu bằng xl, sau đó là cell gì đó
 
Upvote 0
Hằng VBA được hỗ trợ tìm nên cũng dễ cho mình chứ. Cứ Ctrl+Space bar xong gõ xlcell là có danh sách gợi nhớ liền. Chỉ cần nhớ hằng bắt đầu bằng xl, sau đó là cell gì đó
Em không rõ anh như nào. Nhưng có lúc em nhấn ctrl space. Nó ra gợi ý. Có lúc thì không. Chẳng hiểu do em thao tác sai hay thế nào nữa. Thành ra có nhiều cái em học mót được. Toàn phải học thuộc. Hoặc ghi ra cuốn sổ nhỏ. Cần thì lại mở ra xem
 
Upvote 0
Em không rõ anh như nào. Nhưng có lúc em nhấn ctrl space. Nó ra gợi ý. Có lúc thì không. Chẳng hiểu do em thao tác sai hay thế nào nữa. Thành ra có nhiều cái em học mót được. Toàn phải học thuộc. Hoặc ghi ra cuốn sổ nhỏ. Cần thì lại mở ra xem
Chà, bạn tỉ mỉ ghê, có sổ tay để ghi chép code cần nhớ. Tôi thì cố nhớ, còn không nhớ được thì cứ gõ mấy từ khóa áng chừng lên google là vừng ơi, nhớ rồi. Còn chuyện Ctrl+Space mà không có list gợi ý là bị xung đột code nào đó rồi.
 
Upvote 0
Chà, bạn tỉ mỉ ghê, có sổ tay để ghi chép code cần nhớ. Tôi thì cố nhớ, còn không nhớ được thì cứ gõ mấy từ khóa áng chừng lên google là vừng ơi, nhớ rồi. Còn chuyện Ctrl+Space mà không có list gợi ý là bị xung đột code nào đó rồi.
Do không được học bài bản. Nên những gì mà nhặt được của các anh chị trên này là copy vào hết. Cái nào hay dùng. Là ghi ra . Hihi
 
Upvote 0
Do không được học bài bản. Nên những gì mà nhặt được của các anh chị trên này là copy vào hết. Cái nào hay dùng. Là ghi ra . Hihi
Cái đoạn "những gì mà nhặt được của các anh chị trên này là copy vào hết" là mình học rất bài bản.
 
Upvote 0
Cái đoạn "những gì mà nhặt được của các anh chị trên này là copy vào hết" là mình học rất bài bản.
Em nói thiệt mà. Hay đọc code. Xong về thử. Cái nào mà thấy hay dùng. Là để riêng luôn. Có cái mà thấy ít dùng. Nhớ mang máng. Bữa cần tìm muốn điên luôn ấy anh ạ? Chứ kể ra mà được học bài bản chắc chuẩn chỉ hơn.
 
Upvote 0
Em nói thiệt mà. Hay đọc code. Xong về thử. Cái nào mà thấy hay dùng. Là để riêng luôn. Có cái mà thấy ít dùng. Nhớ mang máng. Bữa cần tìm muốn điên luôn ấy anh ạ? Chứ kể ra mà được học bài bản chắc chuẩn chỉ hơn.
Tôi tập hợp những code cần thiết vào 1 folder thư viện, đặt tên từng file gợi nhớ, có sẵn data để chạy. Sau này cần đến thì nhìn tên file mà mở ra lấy. Còn 1 thư viện nữa là folder các file tôi trợ giúp cho các thành viên GPE, tên file gợi nhớ và gắn thêm tên của thành viên kia. Khi tìm lại mà tên file không đủ gợi nhớ thì lên GPE tìm lại bài viết của thành viên ấy là nhớ ra chủ đề code.

Đó là cách tôi hỗ trợ cho cái bộ nhớ không được ổn của tôi.
 
Upvote 0
Mấy bạn hay dùng số chỗ này (thành ra thấy bí ẩn quá) chứ tôi thích dùng hằng số VBA cho tường minh: Rng.SpecialCells(xlCellTypeVisible)
Đúng là em không hiểu đoạn này nghĩa là gì. Nhưng nhờ anh ấy viết code hộ em nên em có từ khóa "SpecialCells" để tìm. Em gõ google mất một lúc để xem nó là cái gì. Nên em không hỏi lại nữa.
 
Upvote 0
Web KT

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

Back
Top Bottom