Tạo Macro trích lọc dữ liệu

  • Thread starter Thread starter ST-Lu!
  • Ngày gửi Ngày gửi
Liên hệ QC
Viết macro để thay thế dữ liệu

Xin các bác chỉ dáo em có một file excel muốn thay những số 10 000.00 bằng 10000, 20 000.00 bằng 20000 và những số tiếp theo, giờ em muốn viết một đoạn macro để tự động thay thế bác nào biết chỉ giúp em với
 

File đính kèm

Upvote 0
Xin các bác chỉ dáo em có một file excel muốn thay những số 10 000.00 bằng 10000, 20 000.00 bằng 20000 và những số tiếp theo, giờ em muốn viết một đoạn macro để tự động thay thế bác nào biết chỉ giúp em với
Code này của Ndu tôi edit 1 chút.
PHP:
Function TachSo(Cell As Range) As Double
  Set Temp = CreateObject("VBScript.RegExp")
  Temp.Global = True
  Temp.Pattern = "[^0-9]"
  TachSo = Temp.Replace(Cell, "")
  TachSo = TachSo / 100
End Function
Cú pháp
=Tachso(...)
Tôi dùng /100 để bỏ .00
Nhớ định dạng là general
 
Lần chỉnh sửa cuối:
Upvote 0
Dùng Find and Replace là được rồi. Có điều cái khoảng trắng đó không phải là khoảng trắng tạo bởi Space Bar mà là phần mềm tạo ra, Code 60, không phải Code 32
Copy cái khoảng trắng này trên thanh formula bar, paste vào chỗ Find what, Replace with để trống, nhấn replace all.
 
Upvote 0
Mấy anh chị ơi, em muốn filter - contains dựa trên 1 biến mình nhập vào thì làm thế nào ạh, em thấy nó chỉ cho filter một chuỗi có sẵn.
ví dụ : em muốn thay "2009-11-04" bằng 1 biến được ko ạh?

Sheets("temp").Activate
Range("A1:O1").AutoFilter field:=4, Criteria1:="*2009-11-04*" & "*", Operator:=xlAnd
 
Upvote 0
Mấy anh chị ơi, em muốn filter - contains dựa trên 1 biến mình nhập vào thì làm thế nào ạh, em thấy nó chỉ cho filter một chuỗi có sẵn.
ví dụ : em muốn thay "2009-11-04" bằng 1 biến được ko ạh?

Sheets("temp").Activate
Range("A1:O1").AutoFilter field:=4, Criteria1:="*2009-11-04*" & "*", Operator:=xlAnd
Thay vì "hỏi", bạn cứ "thí nghiệm" trước đi
Quá trình thí nghiệm bị trục trặc thế nào hãy hỏi tiếp
Nói chung, câu trả lời của tôi là ĐƯỢC
 
Upvote 0
Thay vì "hỏi", bạn cứ "thí nghiệm" trước đi
Quá trình thí nghiệm bị trục trặc thế nào hãy hỏi tiếp
Nói chung, câu trả lời của tôi là ĐƯỢC
em thử nhiều rồi nhưng không biết cách nào ạh, vì em muốn filter các event diễn ra theo biến thời gian, ví dụ từ hôm qua đến hôm nay. khi dùng cú pháp filter - contains - "*&biến*" thì nó hiểu là chuỗi &biến chứ không có lấy giá trị của biến, mong anh chỉ giáo ạh
 
Upvote 0
em thử nhiều rồi nhưng không biết cách nào ạh, vì em muốn filter các event diễn ra theo biến thời gian, ví dụ từ hôm qua đến hôm nay. khi dùng cú pháp filter - contains - "*&biến*" thì nó hiểu là chuỗi &biến chứ không có lấy giá trị của biến, mong anh chỉ giáo ạh
Bạn đã thử thế nào?
Nó báo lổi thế nào?
Cứ để nguyên vậy rồi gữi file lên đây nhé
 
Upvote 0
Nó không có báo lỗi nhưng em không biết filter từ data là 1 biến mình nhập vào nên làm sai kết quả. Mục đích là em filter các events diễn ra trong 1 khoảng thời gian phù hợp. Em mới làm marco nên còn gà ạh +-+-+-+ Mong anh chỉ giáo.
 

File đính kèm

Upvote 0
Nó không có báo lỗi nhưng em không biết filter từ data là 1 biến mình nhập vào nên làm sai kết quả. Mục đích là em filter các events diễn ra trong 1 khoảng thời gian phù hợp. Em mới làm marco nên còn gà ạh +-+-+-+ Mong anh chỉ giáo.
Ôi trời... Cột D của bạn là dạng Text thì làm sao mà Filter từ khoảng này đến khoảng kia được hả bạn!
Ít ra cột D và E phải đúng chuẩn DATE thì mới tính tiếp được
Thêm nữa: Date mà bạn dùng InputBox để nhập là.. thua rồi (quá dở)
----------------
Tôi sửa lại dử liệu của bạn cho đúng chuẩn và Filter đây, bạn xem file đính kèm
 

File đính kèm

Upvote 0
Ôi trời... Cột D của bạn là dạng Text thì làm sao mà Filter từ khoảng này đến khoảng kia được hả bạn!
Ít ra cột D và E phải đúng chuẩn DATE thì mới tính tiếp được
Thêm nữa: Date mà bạn dùng InputBox để nhập là.. thua rồi (quá dở)
----------------
Tôi sửa lại dử liệu của bạn cho đúng chuẩn và Filter đây, bạn xem file đính kèm

Thanks anh, nhưng dữ liệu em lấy về là dạng TEXT, chuyển sang dạng DATE thì làm thế nào? Cái inputbox thì em test chơi thôi hehe, gà mới ra chơi mà đại ca.... --=0 trong code anh viết chuyển DATE sang số thực để so sánh ,"[] " trong CDbl([xx]) có ý nghĩa gì vậy ... Em gà mong anh thông cảm, mới học thì hay hỏi này hỏi kia biết 1 tý mới có cảm hứng chứ tự làm hoài 1 cái gì đó ko ra thì cũng nản... hehe
 
Upvote 0
Thanks anh, nhưng dữ liệu em lấy về là dạng TEXT, chuyển sang dạng DATE thì làm thế nào? Cái inputbox thì em test chơi thôi hehe, gà mới ra chơi mà đại ca.... --=0 trong code anh viết chuyển DATE sang số thực để so sánh ,"[] " trong CDbl([xx]) có ý nghĩa gì vậy ... Em gà mong anh thông cảm, mới học thì hay hỏi này hỏi kia biết 1 tý mới có cảm hứng chứ tự làm hoài 1 cái gì đó ko ra thì cũng nản... hehe
Bạn thử chuyển bằng cách lấy cell đó *1 xem sao.
Còn CDbl bạn muốn biết như thế nào thì tô khối nó, nhấn F1 là biết liền.
Còn [xx] là tên cell chứa điều kiện lọc đó bạn. [D2] là cell D2, còn [D3] là cell D3 đó bạn.
 
Upvote 0
Nhưng thời gian nó thay đổi, mình phải find and replace từng cells hay sao anh ? em replace rồi chọn format của cái được replace nhưng nó không chuyển sang format mình cần ?!? , mấy anh hướng dẫn cụ thể được ko?
 
Upvote 0
Nhưng thời gian nó thay đổi, mình phải find and replace từng cells hay sao anh ? em replace rồi chọn format của cái được replace nhưng nó không chuyển sang format mình cần ?!? , mấy anh hướng dẫn cụ thể được ko?
Bạn gửi file Excel 2003 xem thử dữ liệu thế nào nhé, file của bạn gửi tôi không mở được.
 
Upvote 0

File đính kèm

Upvote 0
Vậy thì em thêm hàm DATEVALUE vào luôn là được
Theo cách hiểu của tôi thì ý tác giả không phải vậy:
- Dử liệu được import từ 1 phần mềm nào đó
- Nó có dạng DATE theo như ta nhìn thấy nhưng thực chất lại là dạng TEXT (không tính toán được)
- Nhiệm vụ của ta là chuyển chúng trở thành DATE chuẩn
----------------
Vậy theo cách hiểu của tôi thì:
- Hãy làm gì đó để cột D và E trở thành CHUẨN (để tác giả có thể AutoFilter theo điều kiện được)
- Trước đây ta nhìn thấy cột D và E thế nào thì sau khi convert ta vẫn nhìn thấy nó y chang thế, có khác chăng là ta có thể tính toán được với dử liệu mới
---> Chỉ thế thôi!
 
Lần chỉnh sửa cuối:
Upvote 0
Đúng rồi, Ý em là thế đấy :-=
-----
Em xin active lại thread này, mong các anh các chị chỉ giáo -=.,,-=.,,
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom