تغيير نام شيت بر اساس مقدار سلول اکسل +vba
- آخرین بروزرسانی: 31 اردیبهشت 1402
تغيير نام شيت بر اساس مقدار سلول اکسل
تغییر نام شیت یکی از ویژگیهای مهم در نرمافزار اکسل است که به کاربر امکان میدهد تا به سادگی نام شیتها را به صورت دلخواه خود تغییر دهد. اما در برخی موارد، تعیین نام مناسب برای شیت میتواند چالش برانگیز باشد، به خصوص اگر کاربر با تعداد زیادی شیت در یک فایل اکسل سر و کار دارد.
در این مواقع، ایجاد یک ماکرو برای تغییر نام شیت بصورت خودکار بر اساس مقدار یک سلول، میتواند بسیار کاربردی باشد. این کار با استفاده از زبان برنامهنویسی VBA (Visual Basic for Applications) در اکسل قابل انجام است.
برای انجام این کار، کدی را در ویرایشگر VBA اکسل وارد میکنیم که هر زمان که انتخاب سلولها در شیت تغییر کند، فراخوانی میشود و نام شیت را بصورت خودکار بر اساس مقدار سلول مشخص شده، تغییر میدهد.
با این روش، کاربر میتواند با وارد کردن مقدار مناسب در سلول مربوطه، نام شیت را به راحتی و به صورت خودکار تغییر دهد و نیازی به دستی وارد کردن نام جدید برای شیت نخواهد داشت.
در نهایت، این روش به کاربر اجازه میدهد تا به سرعت و با کمترین تلاش، نام شیتها را با مقادیر موجود در سلولهای مختلف، هماهنگ کند و از ایجاد خطای احتمالی در تغییر نام شیت به دلیل تعداد زیادی از آنها جلوگیری کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'تغيير نام شيت بصورت خودکار بر اساس مقدار سلول اکسل 'https://academyruhollah.com/ Set Target = Range("ab1") If Target = "" Then Exit Sub On Error GoTo Badname ActiveSheet.Name = Left(Target, 31) Exit Sub Badname: MsgBox "Please revise the entry in A1." & Chr(13) _ & "It appears to contain one or more " & Chr(13) _ & "illegal characters." & Chr(13) Range("A1").Activate End Sub |
سلام عرض ادب سپاس از آموزشهای واقعا کاربردی
سوای داشتم از حضورتان در خصوص اینکه اگر بخواهم از یک شیت کپی بگیرم و یک شیت جدید درست کنم و اسم شیت جدید برای مثال b3 باشد.
سلام ارادت خدمت شما دوست عزیز بدون شک، باعث خوشحالی میشم کمک کنم. برای کپی کردن یک شیت اکسل و ساختن یک شیت جدید با نام موردنظر، این مراحل رو دنبال کنید
1.کپی کردن شیت
– روی نام شیتی که میخواهید کپی کنید، راست کلیک کرده و گزینه “Copy” یا “Duplicate” را انتخاب کنید. در برخی نسخههای اکسل، میتوانید از منوی بالایی (منوی رایانهای) هم این کار رو انجام بدید.
– این کار یک کپی از شیت اصلی را در همان فایل اکسل ایجاد میکند.
2.تغییر نام شیت
روی نام شیت جدید کلیک راست کنید و گزینه “Rename” یا “Change Name” را انتخاب کنید.
سپس نام جدیدی که میخواهید (مثلاً “b3”) را وارد کنید و Enter را بزنید.
با این مراحل، شما یک کپی از شیت اکسل داشته و یک شیت جدید با نام موردنظر ایجاد کردهاید
موفق باشید مثل همیشه
سلام ممنونم از آموزشهای واقعا کاربردی
سوالی داشتم از محضرتان اگر بخواهیم نام شیت را از ترکیب دو سلول بگیریم چگونه میشود بطور مثال سلول A1 = آکادمی و سلول A2= روح الله
حال ازین دو سلول نام شیت تغییر کند به آکادمی روح الله . اگر ممکن بوده و میشود راهنمایی بفرمایید با سپاس فراوان
سلام ارادت خدمت شما دوست عزیز
در VBA (Visual Basic for Applications) که زبان برنامهنویسی مورد استفاده در محیط Excel است، شما میتوانید از کد زیر برای ترکیب محتوای دو سلول و تعیین نام شیت با استفاده از این ترکیب استفاده کنید
Sub SetSheetName()
' تعیین نام شیت با ترکیب محتوای دو سلول
' تعیین نام سلول A1
Dim cellA1 As String
cellA1 = Sheets("Sheet1").Range("A1").Value
' تعیین نام سلول A2
Dim cellA2 As String
cellA2 = Sheets("Sheet1").Range("A2").Value
' ترکیب محتوای دو سلول
Dim combinedName As String
combinedName = cellA1 & " " & cellA2
' تنظیم نام شیت
ActiveSheet.Name = combinedName
End Sub
برای اجرای این کد:
باز کنید ویرایشگر VBA با فشردن Alt + F11.
از منوی “Insert” یک ماژول جدید ایجاد کنید.
کد بالا را در ماژول جدید قرار دهید.
با فشردن F5 یا اجرای دستورات از منوی “Run” کد اجرا خواهد شد.
لطفاً توجه داشته باشید که این کد فرض میکند که شما در شیتی به نام “Sheet1” هستید. اگر نام شیت متفاوت است، نام شیت را در خطوط مربوطه تغییر دهید.
همچنین، این کد فرض میکند که شما در حال اجرا کد در همان شیت هستید که میخواهید نام آن را تغییر دهید. در غیر این صورت، باید کد را تطبیق دهید.
موفق باشید