Hướng dẫn vba check sheet exists - bảng kiểm vba tồn tại
Về cơ bản, tôi lặp qua tất cả các tờ trong sổ làm việc gốc sau đó đặt 6 trong sổ làm việc đích vào tờ có cùng tên với bản được lặp lại trong sổ làm việc gốc. Show Làm thế nào tôi có thể kiểm tra nếu bảng đó tồn tại? Cái gì đó như:
BIGBEN 41.9k6 Huy hiệu vàng24 Huy hiệu bạc37 Huy hiệu đồng6 gold badges24 silver badges37 bronze badges hỏi ngày 14 tháng 7 năm 2011 lúc 3:23Jul 14, 2011 at 3:23
1 Một số dân gian không thích phương pháp này vì việc sử dụng lỗi "không phù hợp", nhưng tôi nghĩ rằng nó được coi là chấp nhận được trong VBA ... Một cách tiếp cận khác là lặp lại mặc dù tất cả các tờ cho đến khi bạn tìm thấy một trận đấu.
Darcyy 5.1565 huy hiệu vàng27 Huy hiệu bạc41 Huy hiệu đồng5 gold badges27 silver badges41 bronze badges Đã trả lời ngày 14 tháng 7 năm 2011 lúc 4:27Jul 14, 2011 at 4:27
Tim Williamstim WilliamsTim Williams Phù bằng vàng 144K88 gold badges92 silver badges118 bronze badges 11 Nếu bạn chỉ quan tâm đến các bảng tính, bạn có thể sử dụng một cuộc gọi đánh giá đơn giản:
Đã trả lời ngày 12 tháng 2 năm 2015 lúc 9:25Feb 12, 2015 at 9:25
RoryroryRory 31.6K5 Huy hiệu vàng30 Huy hiệu bạc33 Huy hiệu đồng5 gold badges30 silver badges33 bronze badges 10 Bạn không cần xử lý lỗi để thực hiện điều này. Tất cả những gì bạn phải làm là lặp lại trên tất cả các bảng tính và kiểm tra xem tên được chỉ định có tồn tại không:
Đã trả lời ngày 27 tháng 3 năm 2013 lúc 20:21Mar 27, 2013 at 20:21
fbonettifbonettifbonetti 6.4643 Huy hiệu vàng33 Huy hiệu bạc32 Huy hiệu Đồng3 gold badges33 silver badges32 bronze badges 1 Vì kiểm tra các thành viên của bộ sưu tập là một vấn đề chung, đây là phiên bản trừu tượng của câu trả lời của @Tim:
Hàm này có thể được sử dụng với bất kỳ bộ sưu tập nào như đối tượng ( 7, 8, 9, 0, v.v.).Để kiểm tra sự tồn tại của một tờ, hãy sử dụng 1
shA.t 16.2k5 Huy hiệu vàng51 Huy hiệu bạc107 Huy hiệu đồng5 gold badges51 silver badges107 bronze badges Đã trả lời ngày 24 tháng 1 năm 2013 lúc 20:11Jan 24, 2013 at 20:11
Peter Albertpeter AlbertPeter Albert 16.6K4 Huy hiệu vàng64 Huy hiệu bạc88 Huy hiệu đồng4 gold badges64 silver badges88 bronze badges 2 Tôi đã viết cái này:
Đã trả lời ngày 16 tháng 4 năm 2018 lúc 19:24Apr 16, 2018 at 19:24
AobraobrAOBR 2492 Huy hiệu bạc4 Huy hiệu đồng2 silver badges4 bronze badges 3 Đã sửa: Không xử lý lỗi: Without error-handling:
Đã trả lời ngày 17 tháng 2 năm 2015 lúc 14:07Feb 17, 2015 at 14:07
Shai Alonshai AlonShai Alon 93513 Huy hiệu bạc20 Huy hiệu Đồng13 silver badges20 bronze badges 0 Trong trường hợp bất kỳ ai muốn tránh VBA và kiểm tra nếu bảng tính tồn tại hoàn toàn trong công thức ô, có thể sử dụng các chức năng 2 và 3: 4Điều này sẽ trả về 5 nếu sổ làm việc chứa một tờ có tên là 6 và 7 nếu không.Đã trả lời ngày 7 tháng 1 năm 2016 lúc 6:33Jan 7, 2016 at 6:33
Hàm Function WorksheetExists(sName As String) As Boolean WorksheetExists = Evaluate("ISREF('" & sName & "'!A1)") End Function 8 nhỏ gọn (không phụ thuộc vào xử lý lỗi!)Đây là một chức năng ngắn và đơn giản không dựa vào việc xử lý lỗi để xác định xem một bảng tính có tồn tại hay không (và được tuyên bố đúng để hoạt động trong mọi tình huống!)
Ví dụ sử dụng:Ví dụ sau đây thêm một bảng tính mới có tên 9, nếu nó chưa tồn tại:
Thêm thông tin:
Đã trả lời ngày 11 tháng 5 năm 2018 lúc 16:56May 11, 2018 at 16:56
Ashleedawgashleedawgashleedawg Phim thương hiệu vàng 19.5K77 gold badges69 silver badges101 bronze badges Giải pháp của tôi trông giống như TIMS nhưng cũng hoạt động trong trường hợp các tờ không phải là bảng tính - Biểu đồ 0. Đã trả lời ngày 3 tháng 8 năm 2014 lúc 15:43Aug 3, 2014 at 15:43
Uildriksuildriksuildriks 511 Huy hiệu bạc1 Huy hiệu đồng1 silver badge1 bronze badge Muộn nhiều năm, nhưng tôi chỉ cần làm điều này và không thích bất kỳ giải pháp nào được đăng ... vì vậy tôi đã tạo ra một giải pháp, tất cả là nhờ vào sự kỳ diệu của (cử chỉ tay cầu vồng SpongeBob) "Đánh giá ()"! 1Trả về true nếu tờ không tồn tại; Sai nếu tờ không tồn tại. Bạn có thể thay thế bất kỳ phạm vi nào bạn thích cho "1: 1", nhưng tôi khuyên không nên sử dụng một ô duy nhất, vì nó có lỗi (ví dụ: #N/A), nó sẽ trả về đúng. Đã trả lời ngày 1 tháng 8 năm 2016 lúc 16:37Aug 1, 2016 at 16:37
1
Đặt bài kiểm tra vào một chức năng và bạn sẽ có thể sử dụng lại nó và bạn có khả năng đọc mã tốt hơn. Không sử dụng "Sơ yếu lý lịch lỗi tiếp theo" vì nó có thể mâu thuẫn với phần khác trong mã của bạn. 2Đã trả lời ngày 9 tháng 1 năm 2014 lúc 9:26Jan 9, 2014 at 9:26
Martin Carlssonmartin CarlssonMartin Carlsson 4412 Huy hiệu vàng6 Huy hiệu bạc16 Huy hiệu đồng2 gold badges6 silver badges16 bronze badges Ngắn và sạch sẽ: 3
Đã trả lời ngày 3 tháng 4 năm 2020 lúc 4:13Apr 3, 2020 at 4:13
Anh hùng anh hùng ExcelExcel Hero 13.9k4 Huy hiệu vàng29 Huy hiệu bạc38 Huy hiệu đồng4 gold badges29 silver badges38 bronze badges 0 4Đã trả lời ngày 5 tháng 8 năm 2013 lúc 10:56Aug 5, 2013 at 10:56
M1NTM1NTM1NT 3761 Huy hiệu vàng4 Huy hiệu bạc12 Huy hiệu đồng1 gold badge4 silver badges12 bronze badges Tại sao không sử dụng một vòng nhỏ để xác định xem bảng tính được đặt tên có tồn tại không? Giả sử nếu bạn đang tìm kiếm một bảng tính có tên "Sheet1" trong sổ làm việc hiện đang mở. 5Đã trả lời ngày 16 tháng 1 năm 2015 lúc 7:55Jan 16, 2015 at 7:55
ScottMCCSCOTTMCCScottMcC 3.7991 Huy hiệu vàng26 Huy hiệu bạc35 Huy hiệu Đồng1 gold badge26 silver badges35 bronze badges 6Đã trả lời ngày 28 tháng 3 năm 2017 lúc 12:24Mar 28, 2017 at 12:24
ShrikantshrikantShrikant 5134 Huy hiệu bạc15 Huy hiệu Đồng4 silver badges15 bronze badges Nếu bạn là một fan hâm mộ của 3 hoặc bạn làm việc từ một quốc gia không phải tiếng Anh với một Excel không phải là tiếng Anh thì đây là một giải pháp tốt, hoạt động: 7Hoặc trong một chức năng như thế này: 8Đã trả lời ngày 23 tháng 5 năm 2017 lúc 9:25May 23, 2017 at 9:25
VityatavityataVityata 41.7K7 Huy hiệu vàng53 Huy hiệu bạc89 Huy hiệu đồng7 gold badges53 silver badges89 bronze badges Thay đổi "dữ liệu" thành bất kỳ tên nào bạn đang thử nghiệm ... 9
Dan Lowe 47.6K17 Huy hiệu vàng120 Huy hiệu bạc110 Huy hiệu đồng17 gold badges120 silver badges110 bronze badges Đã trả lời ngày 10 tháng 7 năm 2017 lúc 16:54Jul 10, 2017 at 16:54
gth826agth826agth826a Huy hiệu bạc 1011 Huy hiệu đồng1 silver badge4 bronze badges Không còn nghi ngờ gì nữa, chức năng trên có thể hoạt động, tôi vừa kết thúc với mã sau hoạt động khá tốt: 0Lưu ý: 4 là nơi tôi yêu cầu người dùng nhập tên, vì vậy điều này có thể không giống với bạn.
Cody Grey ♦♦ Phim thương hiệu vàng 234K50482 Huy hiệu bạc561 Huy hiệu đồng50 gold badges482 silver badges561 bronze badges Đã trả lời ngày 28 tháng 6 năm 2016 lúc 2:24Jun 28, 2016 at 2:24
Tôi đã làm một điều khác: Chỉ xóa một tờ chỉ khi nó tồn tại - không gặp lỗi nếu nó không: 1Đã trả lời ngày 17 tháng 2 năm 2015 lúc 15:22Feb 17, 2015 at 15:22
Shai Alonshai AlonShai Alon 93513 Huy hiệu bạc20 Huy hiệu Đồng13 silver badges20 bronze badges Tôi sử dụng chức năng này để kiểm tra và trả về một tên trang tính mới nếu cần. WSName là tên bảng tính mong muốn và WBCUR là sổ làm việc bạn muốn đăng ký. Tôi sử dụng nó vì không cần xử lý lỗi và có thể gọi nó bất cứ khi nào tôi tạo bảng tính mới. 2Đã trả lời ngày 14 tháng 7 năm 2021 lúc 19:51Jul 14, 2021 at 19:51
Tôi đã đưa ra một cách dễ dàng để làm điều đó, nhưng tôi đã không tạo ra một phụ mới cho nó. Thay vào đó, tôi chỉ "chạy séc" trong phụ tôi đang làm việc. Giả sử tên trang tính mà chúng tôi đang tìm kiếm là "Sheet_Exist" và chúng tôi chỉ muốn kích hoạt nó nếu tìm thấy: 3Tôi cũng đã thêm một cửa sổ bật lên khi tờ không tồn tại. Đã trả lời ngày 14 tháng 6 năm 2018 lúc 15:13Jun 14, 2018 at 15:13
Tôi biết đó là một bài viết cũ, nhưng đây là một giải pháp đơn giản khác nhanh chóng. 4Đã trả lời ngày 4 tháng 4 năm 2019 lúc 15:39Apr 4, 2019 at 15:39
GuestGuestGuest 4302 Huy hiệu bạc4 Huy hiệu đồng2 silver badges4 bronze badges Tôi thực sự đã có một cách đơn giản để kiểm tra xem trang tính có tồn tại và sau đó thực hiện một số hướng dẫn: Trong trường hợp của tôi, tôi muốn xóa trang tính và sau đó tạo lại cùng một trang có cùng tên nhưng mã bị gián đoạn nếu chương trình không thể xóa trang tính vì nó đã bị xóa 5
Cody Grey ♦♦ Phim thương hiệu vàng 234K50482 Huy hiệu bạc561 Huy hiệu đồng50 gold badges482 silver badges561 bronze badges Đã trả lời ngày 28 tháng 6 năm 2016 lúc 2:24Mar 7, 2014 at 14:47
1 |