Nếu tôi không nhìn nhầm thì về cơ bản ý tưởng
GoTo Thoat của bạn là đúng, nhưng bạn đặt sai chỗ. Phải đặt sau
Next j
Nhưng nếu là tôi thì tôi dùng
Exit For. Tất nhiên lúc đó
Thoat: không cần thiết.
Nếu chỉ đơn giản là xóa 2 dòng
GoTo Thoat và
Thoat: thì code của bạn về mặt nghệ thuật lập trình không phải chuẩn 100%. Vì nếu tôi đoán mò mà đúng thì dữ liệu trong cột A là duy nhất - khác nhau từng đôi một. Khi đã tìm thấy dòng thỏa, tức (Darr(i, 1) = ter) = TRUE thì sau khi thêm vào dic thì phải ra khỏi vòng lặp. Chả lý gì khi tìm thấy vd. ở dòng 2 (trong trường hợp này) lại thực hiện tiếp vòng lặp cho dòng i = 3, 4, ..., 50.
Tóm lại ý tưởng
GoTo Thoat của bạn về mặt nghệ thuật lập trình là
đúng, và chắc chắn tốt hơn những gợi ý bỏ nó. Bạn chỉ sai do đặt nhầm chỗ.
Góp ý thế vì tương lai bạn sẽ viết nhiều code nữa.