اکسل به شما امکان می دهد کاربرگ های جدید را به روش های مختلف ایجاد کنید. اگر بخواهید یک کاربرگ جدید ایجاد کنید و همه آن را در یک مرحله نامگذاری کنید، چه؟ ساده ترین راه برای انجام این کار با ماکرو است. در زیر نمونه ای از یک ماکرو است که نامی را می خواهد، و سپس یک کاربرگ ایجاد می کند و نام ارائه شده را به آن کاربرگ می دهد.
Sub AddNameNewSheet1()
Dim Newname As String
Newname = InputBox("Name for new worksheet?")
If Newname <> "" Then
Sheets.Add Type:=xlWorksheet
ActiveSheet.Name = Newname
End If
End Sub
این ماکرو به خوبی کار می کند، تا زمانی که کاربر نام کاربرگ را وارد کند که طبق استانداردهای اکسل "قانونی" باشد. اگر نام جدید برای اکسل قابل قبول نباشد، کاربرگ همچنان اضافه می شود، اما همانطور که انتظار می رود تغییر نام داده نمی شود.
یک ماکرو قوی تر خطاهای احتمالی را در نام گذاری یک کاربرگ پیش بینی می کند. کد مثال زیر کاربرگ را اضافه می کند، اما اگر نام کاربرگ نادرستی ارائه شده است، به درخواست نام کاربرگ ادامه دهید.
Sub AddNameNewSheet2()
Dim CurrentSheetName As String
Remember where we started
CurrentSheetName = ActiveSheet.Name
Add New Sheet
Sheets.Add
Make sure the name is valid
On Error Resume Next
Get the new name
ActiveSheet.Name = InputBox("Name for new worksheet?")
Keep asking for name if name is invalid
Do Until Err.Number = 0
Err.Clear
ActiveSheet.Name = InputBox("Try Again!" _
& vbCrLf & "Invalid Name or Name Already Exists" _
& vbCrLf & "Please name the New Sheet")
Loop
On Error GoTo 0
Go back to where you started
Sheets(CurrentSheetName).Select
End Sub