Tên trang tính được gán động từ một giá trị ô


0

Sub TạoWorkSheetByRange ()
Dim WorkRng Như Phạm vi
Dim Ws làm trang tính
 Dim mảng Như biến thể
Mẫu Dim Như Bảng tính
Dim xTitleId dưới dạng Chuỗi
Khi xảy ra lỗi Tiếp tục
xTitleId = "Chọn Phạm vi"
Đặt WorkRng = Application.Selection
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
mảng = WorkRng.Giá trị
Ứng dụng.ScreenUpdating = Sai
 mảng = WorkRng.Giá trị
 Ứng dụng.ScreenUpdating = Sai
'Tạo tên Worksheet dựa trên phạm vi đã chọn 
Cho i = 1 đến UBound (mảng, 1)
Cho j = 1 đến UBound (mảng, 2)
Đặt Ws = Worksheet.Add (sau: = Application.ActiveSheet)
  Ws.Name = mảng (i, j)
   Kế tiếp
Kế tiếp
Ứng dụng.ScreenUpdating = True
Kết thúc phụ

Câu trả lời:


0

Bạn chắc chắn có thể tạo tên bảng tính bằng cách sử dụng các giá trị từ Excel Cells.
Sử dụng mã VBA sau

Sub TạoWorkSheetByRange ()
'sự định nghĩa biến
Dim WorkRng Như Phạm vi
Dim Ws làm trang tính
Dim mảng Như biến thể
Mẫu Dim Như Bảng tính
'** Chỉnh sửa-2: Đã khai báo xTitleId **
Dim xTitleId dưới dạng Chuỗi
'** Chỉnh sửa-3: Khai báo i và j **
Dim i là biến thể
Dim j là Biến thể
'Bắt đầu chương trình
Khi xảy ra lỗi Tiếp tục
'Chỉ định tiêu đề của hộp thoại yêu cầu phạm vi
xTitleId = "Chọn Phạm vi"
'Gán hàm application.selection cho biến WorkRng
Đặt WorkRng = Application.Selection
'Chấp nhận đầu vào từ người dùng
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
'Tạo một mảng các giá trị đầu vào
mảng = WorkRng.Giá trị
'Dòng sau là tùy chọn
Ứng dụng.ScreenUpdating = Sai
'Tạo tên Worksheet dựa trên phạm vi đã chọn
Cho i = 1 đến UBound (mảng, 1)
    Cho j = 1 đến UBound (mảng, 2)
        Đặt Ws = Worksheet.Add (sau: = Application.ActiveSheet)
        Ws.Name = mảng (i, j)
    Kế tiếp
Kế tiếp
Ứng dụng.ScreenUpdating = True
Kết thúc phụ

Đoạn mã trên cho phép bạn chọn một phạm vi ô mà bạn muốn tạo tên của bảng tính.
Bạn có thể tiếp tục xây dựng dựa trên điều này và xem liệu bạn có thể sửa đổi điều này cho kịch bản tên thay đổi của mình
FYI: Tôi cũng mới sử dụng VBA ... nhưng bạn có thể tìm hiểu điều này rất dễ dàng


Cảm ơn bạn đã dành thời gian giúp tôi, tôi vẫn gặp sự cố tôi đã cắt và vượt qua cod của bạn trong mô-đun mới và thử chạy nó. nó dừng tại xTitleId với thông báo "Lỗi biên dịch" & "không được xác định" Tôi chắc chắn đây là sự thiếu hiểu biết của tôi nhưng có cần thêm các bước để làm việc này không? Cám ơn bạn một lần nữa.
Howard

@Howard - Xem nếu nó làm việc cho bạn bây giờ. Tôi đã thêm phần khai báo xTitleId.
Prasanna

Nó đã được sửa thành "i" biên dịch lỗi / biến không được xác định
Howard

@ Xin chào, bạn có thể vui lòng thêm mã của mình dưới dạng EDIT vào câu hỏi của riêng mình không - có thể dễ dàng nhận xét về nơi có thể sai
Prasanna

Tôi nghĩ rằng tôi có thể tham gia nhiều hơn sau đó tôi đã sẵn sàng.
Howard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.