Lấy giá trị tuần tự liên tục trong 1 cột!

Liên hệ QC

alias1313

Thành viên hoạt động
Tham gia
7/4/17
Bài viết
163
Được thích
13
Em cần lấy giá trị trong một cột ( >1000 hàng) bằng cách sử dụng VBA, mong các anh giúp đỡ!

Qui luật để lấy như sau:
Tai cột E
- Giá trị đầu tiên > 50 lấy, gán giá trị ra ô excel cột G
- Giá trị tiếp theo < 50 lấy, gán giá trị ra ô excel tiếp theo ô trên
- Giá trị tiếp theo > 50 lấy
- Giá trị tiếp theo < 50 lấy.

Cứ lấy xen kẽ như vậy! Giá trị lấy được gán ra cột G.
Em viết 1 đoạn code như bên dưới, nhưng em không biết muốn lấy giá trị tiếp theo phải viết thế nào để hàm for nó hiểu.
Mong các anh giúp em! Em cảm ơn!

Mã:
Sub LocGiaTri()

   Dim range1 as range

For each range1 in Range("E1:E20")

If range1.value > 50 then

End if

Next range1

End sub
 

File đính kèm

  • LayGiaTri.xlsx
    8.8 KB · Đọc: 16
Tôi dự định đề nghị phân tích page faults để xem có gì đăc biệt. Nhưng có bằng chứng này thì thôi khong cần. Vì như vậy đủ để chứng tỏ phương pháp so sánh trên hoàn toàn khập khễnh đến què quặt.

Ngày xưa, MS dùng C/C++ để thực hiện các hàm Excel và một số API.
MemCopy và MemMove là hai Macro (macro máy chứ khong phải của Excel) nổi tiếng là nhanh của C/C++
Lưu ý rằng tôi dùng từ "ngày xưa" ở trên. Hiện nay, với kỹ thuật cải tiến của compiler (trình dịch), hầu hết các nên tảng đều có ngôn ngữ viết riêng của họ. Rất có thể MS đã có trình dịch và ngôn ngữ nào đó để viết các macro cho API's
Đoạn trên là suy đoán của em chứ không phải bằng chứng đâu.
Các hàm win api nếu MS dùng ngôn ngữ và trình dịch khác C/C++ có lẽ mọi người ít nhiều đã nghe thông tin về nó chứ khó giữ bí mật lắm vì bí mật quá thì ít người tham gia phát triển được. Những hàm đơn giản thì có thể dùng Assembly.
 
Upvote 0
....
Các hàm win api nếu MS dùng ngôn ngữ và trình dịch khác C/C++ có lẽ mọi người ít nhiều đã nghe thông tin về nó chứ khó giữ bí mật lắm vì bí mật quá thì ít người tham gia phát triển được. Những hàm đơn giản thì có thể dùng Assembly.
Thời buổi bi giờ kiến thức và kỹ thuật trình dịch cao lắm. Người ta tự chế ra trình dịch chuyên cho mình là chuyện thường.
Điển hình: Lịch sử của C bắt đầu từ B. B là ngôn ngữ được tác giả tự chế để viết hệ thống vận hành Unix cho máy PDP11.
Một ngon ngữ nổi tiếng khác là PHP cũng có nguồn gốc rất hai lúa.

Chú về assembly: tuỳ theo cách gọi. Thường thì những nhóm lệnh assembly được gộp lại thành những khối gọi là Macro. (vì vậy tôi mới nói các hàm MemCopy và MemMove của C được thực hiện, tức là khởi đầu và bảo trì, bằng Macro)
 
Upvote 0
Web KT
Back
Top Bottom