Xóa ký tự đặc biệt trong Excel VBA
S Đã tham gia25/11/2020Messages136Phiên bản Office
Tôi có một macro lưu tệp excel của mình và đặt tên tệp dựa trên ô đã chọn, tuy nhiên, thường có những ký tự không thể là một phần của tên tệp. Tôi chỉ muốn xóa các ký tự đó và tiến hành lưu. Có thể có dấu gạch chéo và/hoặc dấu hai chấm và các ký tự đặc biệt khác trong ô đã chọn, tuy nhiên tôi không biết vị trí của nó vì nó thay đổi. lrobo314Thành viên nổi tiếngJoinedJul 14, 2008Messages3,605Phiên bản Office
Đây là một hàm theo mặc định sẽ thay thế các ký tự không hợp lệ bằng các chuỗi có độ dài bằng 0. Nó cũng có một đối số thứ hai tùy chọn cho phép bạn thay thế các ký tự không hợp lệ bằng bất kỳ ký tự nào bạn muốn. Chuyến bay đến Sân bay Mexicali của OTM năm 2022 hàng tuần (phiên bản 1). xlsbAB35Mẫu 1/1/22. ReadySample 1122 Ready36Sample 1/1/22. Mẫu sẵn sàng 1_1_22_ Sẵn sàng Tờ4 Cell FormulasRangeFormulaB35B35=NoSpec(A35)B36B36=NoSpec(A36,"_") Mã VBA
Dung dịch S Đã tham gia25/11/2020Messages136Phiên bản Office
Tuyệt vời. Mike WolfeNgày 23 tháng 12 năm 2021 • 3 phút đọc Hàm sau sẽ xóa các ký tự đặc biệt khỏi chuỗi trong VBA Mật mãHãy xem bài viết của tôi về các bài kiểm tra tài liệu lấy cảm hứng từ Python nếu bạn quan tâm đến ký hiệu
Cách sử dụngSử dụng cơ bảnỞ mức cơ bản nhất, bạn chỉ cần truyền vào hàm một chuỗi và nó sẽ trả về cùng một chuỗi với bất kỳ ký tự đặc biệt nào bị loại bỏ Thay thế khoảng trắng bằng dấu gạch dướiThông thường, bạn sẽ muốn giữ lại khoảng cách chữ cái để dễ đọc nhưng loại bỏ khoảng trắng. Điều đó rất dễ thực hiện bằng cách đặt tham số AllowSpaces tùy chọn thành Sai và tham số Văn bản thay thế thành ký tự gạch dưới Thay thế TẤT CẢ các ký tự đặc biệtNếu bạn muốn giới hạn đầu ra chỉ ở các chữ cái (không có dấu cách hoặc số), bạn cũng có thể làm điều đó Cho phép một số ký tự đặc biệtNếu có một vài ký tự đặc biệt mà bạn muốn cho phép đi qua thì sao? cân nhắc địa phươngTôi chỉ từng sử dụng điều này với cài đặt ngôn ngữ tiếng Anh Mỹ. Điều đó nói rằng, nó nên Just Work™ trong hầu hết các trường hợp vì nó dựa trên cài đặt So sánh tùy chọn mà bạn đang sử dụng trong mã của mình. Bản thân các cài đặt đó dựa trên trang mã hiệu quả của hệ thống hoặc cài đặt ngôn ngữ. Kiểm tra liên kết So sánh cài đặt tùy chọn ở trên để biết chi tiết Cân nhắc hiệu suấtMã này không dành cho sử dụng với các chuỗi rất lớn (100 nghìn ký tự trở lên). Đoạn mã lặp qua chuỗi từng ký tự một và cũng tạo lại chuỗi mới từng ký tự một. Thời gian xử lý không đáng kể đối với các chuỗi lên tới vài nghìn ký tự. Tuy nhiên, nó bắt đầu chậm lại với hơn 100 nghìn chuỗi ký tự Bài viết tham khảoCác bài kiểm tra tài liệu lấy cảm hứng từ Python trong VBA Kiểm tra tài liệu không phải là sự thay thế cho kiểm tra đơn vị hoặc tích hợp. Nhưng chúng mang lại lợi tức đầu tư (ROI) tốt nhất so với bất kỳ loại thử nghiệm nào, chủ yếu là do nỗ lực viết chúng gần như bằng không |