Cách đổi tên sheet trong excel bằng Python

Khi bạn thêm một trang tính mới vào sổ làm việc, bạn có tùy chọn đặt tên cho nó. Nhưng bạn cũng có thể đổi tên nó bất cứ lúc nào bằng cách sử dụng thuộc tính name của trang tính. Trong hướng dẫn này, chúng ta sẽ xem xét các cách khác nhau để đổi tên một trang tính hoặc nhiều trang tính bằng mã VBA

Các bước để đổi tên trang tính bằng mã VBA

  1. Đầu tiên, xác định trang tính mà bạn muốn đổi tên bằng đối tượng trang tính
  2. Sau đó, bạn cần sử dụng [. Name] để truy cập thuộc tính tên mà bạn muốn thay đổi
  3. Tiếp theo, nhập dấu bằng vào đó để cho VBA biết giá trị bạn muốn sử dụng để đổi tên trang tính
  4. Cuối cùng, nhập tên của trang tính mà bạn muốn sử dụng

Liên kết hữu ích. Chạy Macro – Trình ghi Macro – Trình soạn thảo Visual Basic – Sổ làm việc Macro Cá nhân

Đổi tên Activesheet

Nếu bạn muốn đổi tên trang tính đang hoạt động, trong trường hợp đó, bạn không cần xác định tên trang tính, thay vào đó, bạn cần sử dụng đối tượng ActiveSheet để yêu cầu VBA tham chiếu đến trang tính đang hoạt động ngay bây giờ. Đây là mã

Activesheet.Name = "mySheet"

Ghi chú. Để đổi tên một trang tính, bạn không cần phải kích hoạt nó

Đổi tên Trang tính bằng Số Trang tính

Như bạn đã biết, mỗi trang tính đều có một số dựa trên vị trí của nó trong sổ làm việc. Giả sử bạn muốn đổi tên trang tính mà bạn có ở số thứ năm, mã sẽ là

Sheets[5].Name = "mySheet5"

Khi bạn chạy macro ở trên, nó sẽ đổi tên trang tính ở số thứ năm

Kiểm tra xem Sheet có tồn tại trước khi đổi tên

Nếu bạn cố đổi tên một trang tính không tồn tại, VBA sẽ hiển thị cho bạn một lỗi, giống như bên dưới

Giải pháp cho vấn đề này là đoạn mã sau sử dụng FOR EACH, mã này có thể lặp qua tất cả các trang tính để tìm trang tính mà bạn đã xác định rồi đổi tên trang tính đó

Sub check_sheet_rename[]
Dim ws As Worksheet
Dim mySheet As String
Dim SheetName As String

mySheet = InputBox["enter the name of the sheet that you want to rename."]
SheetName = InputBox["Enter new name for the sheet."]

For Each ws In ThisWorkbook.Worksheets
    If mySheet = ws.Name Then
    ws.Name = SheetName
    End If
Next ws

End Sub

Đổi tên Trang tính bằng cách sử dụng Giá trị từ Ô hoặc Dải ô

Bạn cũng có thể đổi tên trang tính bằng cách lấy giá trị từ một ô. Giả sử giá trị nằm trong ô A1

Sheets["Sheet1"].name = Range["A1"].Value

Nhưng giả sử bạn muốn đặt tên cho nhiều trang tính dựa trên các giá trị trong một dải ô. Trong trường hợp đó, bạn cần phải có mã như sau

Sub vba_sheet_rename_multiple[]
Dim wsCount As Long
Dim rCount As Long
Dim ws As Worksheet
Dim name As Range
Dim i As Long

wsCount = ThisWorkbook.Worksheets.Count
rCount = Range["A1:A10"].Rows.Count

'Checks if the count of the names provided is less _
or more than the sheets in the workbook
If wsCount  rCount Then
    MsgBox "There's some problem with the names provided."
    Exit Sub
Else

    'Check if any of the cells in the name range is empty.
    For Each name In Range["A1:A10"]
        If IsEmpty[name] = True Then
            i = i + 1
        End If
    Next name
    If i > 0 Then
        MsgBox "There's is a blank cell in the names range."
        Exit Sub
    End If
End If

'rename each sheet using the value from the range cell by cell.
i = 1

For Each ws In ThisWorkbook.Worksheets
    ws.name = Range["A1:A10"].Cells[i, 1].Value
    i = 1 + i
Next ws

End Sub

Khi bạn chạy mã VBA này, đầu tiên mã này sẽ kiểm tra xem các ô trong phạm vi có bằng số trang tính mà bạn có trong sổ làm việc không. Sau đó, nó sẽ kiểm tra xem tất cả các ô trong phạm vi mà bạn đã chỉ định có giá trị hay không. Và cuối cùng, đổi tên tất cả các trang tính bằng những tên đó

Xem nguồn. R/trình bao bọc. R

renameTài liệu WorksheetR

Sự miêu tả

Đổi tên một trang tính

Cách sử dụng

renameWorksheet[wb, sheet, newName]

Tranh luận

wb

Một đối tượng Workbook chứa một trang tính

________số 8

Tên hoặc chỉ mục của trang tính cần đổi tên

newName

Tên mới của trang tính. Không dài hơn 31 ký tự

Chi tiết

KHÔNG DÙNG. Sử dụng

Sheets[5].Name = "mySheet5"
0

[các] tác giả

Alexander Walker

ví dụ

## Create a new workbook
wb 

Chủ Đề