Tên sổ làm việc VBA (Nhận, Đặt, không có Phần mở rộng)

Hướng dẫn này sẽ trình bày cách lấy và đặt tên Workbook trong VBA.

Chúng ta có thể lấy hoặc đặt tên của sổ làm việc Hoạt động trong VBA hoặc lặp qua tất cả các sổ làm việc đang mở trong Excel và lấy hoặc đặt tên của từng sổ làm việc đó bằng Vòng lặp VBA.

Nhận tên sổ làm việc

Để lấy tên của sổ làm việc đang hoạt động, chúng ta cần sử dụng thuộc tính name của đối tượng sổ làm việc.

12345 Sub GetWorkbookName ()Dim strWBName thành chuỗistrWBName = ActiveWorkbook.NameMsgBox strWBNameKết thúc Sub

Nếu chúng ta chạy mã trên, chúng ta sẽ thấy một hộp thông báo xuất hiện trên màn hình với tên của sổ làm việc Hoạt động.

Để lặp qua tất cả các Sổ làm việc đang hoạt động và trả lại tên của các sổ làm việc cho Excel, chúng ta có thể chạy mã sau:

1234567 Sub GetWorkbookNames ()Dim wb As WorkbookĐối với mỗi wb trong sổ làm việcActiveCell = wb.NameActiveCell.Offset (1, 0) .SelectKế tiếpKết thúc Sub

Các ví dụ trên sẽ bao gồm phần mở rộng của tệp (ví dụ: xlsx). Nếu bạn không muốn bao gồm phần mở rộng, có một số phương pháp chúng tôi có thể sử dụng để chỉ lấy tên tệp của sổ làm việc.

Nhận tên sổ làm việc mà không có phần mở rộng

Chúng ta có thể sử dụng hàm LEFT và INSTR để xóa bất kỳ ký tự nào sau dấu chấm trong tên tệp:

12345 Sub GetWorkbookName ()Dim strWBName thành chuỗistrWBName = Left (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameKết thúc Sub

Chúng ta có thể sử dụng hàm LEFT và LEN để xóa 5 ký tự ở cuối tên tệp:

12345 Sub GetWorkbookName ()Dim strWBName thành chuỗistrWBName = Left (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameKết thúc Sub

Đặt tên sổ làm việc

Để đặt tên của sổ làm việc trong VBA, chúng tôi vẫn sử dụng thuộc tính Tên của sổ làm việc, tuy nhiên chúng tôi không thể sử dụng phương pháp này để thay đổi tên của Sổ làm việc Hoạt động. Điều này là do sổ làm việc Hoạt động đang mở và lỗi truy cập tệp sẽ xảy ra. Để khắc phục, chúng ta có thể lưu tệp với tên mới và sau đó xóa tệp cũ.

12345678910 Public Sub SetWorkbookName ()Dim strPath dưới dạng chuỗiDim strNewName As StringDim strOldName thành chuỗistrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Vui lòng nhập tên mới cho sổ làm việc")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameGiết strPath & "/" & strOldNameKết thúc Sub

Để đổi tên một sổ làm việc chưa mở, chúng ta có thể sử dụng phương pháp Tên.

123 Đổi tên phụ công khaiWorkbook ()Đặt tên "C: \ Data \ MyFile.xlsx" là "C: \ Data \ MyNewFile.xlsx"Kết thúc Sub

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave