فروشگاه
انبارداری پیشرفته تحت اکسل

ایجاد 1000پوشه‌ در اکسل فقط با یک کلیک

آموزش حرفه ای اکسل با کد نویسی vba توی این آموزش رایگان اکسل برای شما کاربران همیشگی سایت آکادمی روح الله نحوه ایجاد 1000پوشه‌ در اکسل فقط با یک کلیک را آماده کردم یک آموزش جذاب و کاربردی است ادامه آموزش را با من همراه باشید

ایجاد پوشه‌ها با استفاده از کد VBA در اکسل

استفاده از نرم‌افزار اکسل برای مدیریت و ذخیره اطلاعات از مهمترین وظایف در محیط کاری ما است. گاهی اوقات نیاز داریم تا اطلاعاتی را بر اساس مقادیر در ورکشیت‌های اکسل به صورت سازمان‌یافته در پوشه‌ها ذخیره کنیم. در این مقاله، به شما نشان خواهیم داد چگونه با استفاده از کد VBA (Visual Basic for Applications) در اکسل، به صورت خودکار پوشه‌ها را بر اساس مقادیر سلول‌ها ایجاد کنید.

مفهوم ایجاد پوشه با VBA

وقتی کار با داده‌های بزرگ در اکسل دارید، گاهی اوقات نیاز دارید تا این داده‌ها را در پوشه‌های مخصوص به خود ذخیره کنید تا سازمان‌یافته‌تر باشند. به عنوان مثال، فرض کنید دارید یک لیست از نام‌ها در ستون A اکسل دارید و می‌خواهید برای هر نام یک پوشه با نام متناظر ایجاد کنید. اینجاست که کد VBA به کمک می‌آید.

ایجاد کد VBA

برای ایجاد پوشه‌ها با استفاده از کد VBA در اکسل، ابتدا باید به ویرایشگر VBA دسترسی داشته باشید. این کار را با کلیک بر روی “توسعه‌دهنده” در منوی “ابزارها” انجام دهید. سپس یک ماژول جدید ایجاد کرده و کد زیر را در آن قرار دهید:

ایجاد ۱۰۰۰پوشه‌ در اکسل فقط با یک کلیک

ایجاد ۱۰۰۰پوشه‌ در اکسل فقط با یک کلیک

ایجاد 1000پوشه‌ در اکسل فقط با یک کلیک

پیش نهاد آکادمی روح الله برای شما :
آموزش استفاده اکسل 2021 بدون نیاز به نصب

نحوه استفاده

  1. ابتدا ویرایشگر VBA را باز کنید.
  2. یک ماژول جدید ایجاد کنید.
  3. کد VBA را در ماژول قرار دهید.
  4. ستونی را که حاوی نام‌هایی است که می‌خواهید برای هر نام یک پوشه ایجاد شود، تعیین کنید.
  5. کد را اجرا کنید.

با اجرای کد، اکسل به صورت خودکار پوشه‌ها را با نام مقادیر سلول‌ها ایجاد خواهد کرد.

نتیجه

با استفاده از کد VBA در اکسل، شما می‌توانید به سادگی پوشه‌ها را بر اساس مقادیر شیت پوشه های خود ایجاد کنید. این عملیات به شما کمک می‌کند داده‌های خود را سازمان‌دهی کرده و به ترتیب اطلاعات خود را ذخیره کنید.

از این کد می‌توانید برای موارد مختلفی مانند سازماندهی فایل‌ها بر اساس مقادیر موجود در اکسل یا ایجاد پوشه‌های مخصوصی برای پروژه‌ها و کارهای مختلف استفاده کنید.

امیدوارم که برای شما کاربردی باشد

  1. Excel VBA
  2. پوشه‌سازی خودکار
  3. سازماندهی داده
  4. کد برنامه‌نویسی اکسل
  5. ایجاد پوشه‌ها بر اساس مقادیر سلول‌ها
میانگین رتبه 3.5/5 تعداد رای : 6
اکسل را حرفه ای یاد بگیر
نظر شما در مورد این مقاله چیست؟

نظر یا سوال شما در این مورد چیست؟

سلام دوست عزیز خوشحال میشوم نظر شما را در مورد این مقاله بدانم 👇

    ابراهیم سیف

    سلام برای تعداد حدودا پنج هزار نفر میخواهم در اکسل برای هر فرد یک پوشه جهت بایگانی مدارک هرشخص ایجاد کنم راهنمایی فرمایید وینوز 10و 7.

    پاسخ

      سلام ارادت خدمت شما 🌷
      کار کاملاً شدنیه و با اکسل خیلی تمیز می‌تونی انجامش بدی، هم روی ویندوز ۷ هم ۱۰ بدون هیچ مشکلی.

      ایده کلی

      اسامی یا کد هر فرد داخل اکسل باشد

      با یک دکمه یا اجرای ماکرو، برای هر نفر یک پوشه جداگانه ساخته شود

      پوشه‌ها می‌توانند با نام، کد ملی، شماره پرونده یا ترکیبی ساخته شوند

      روش استاندارد و مطمئن (پیشنهادی)
      1️⃣ آماده‌سازی اکسل

      مثلاً در ستون A لیست افراد را بنویس:

      A2 : 1001 - علی رضایی
      A3 : 1002 - مریم احمدی
      A4 : 1003 - حسین محمدی
      بهتر است نام پوشه‌ها کاراکتر غیرمجاز نداشته باشند ( / \ : * ? " < > | )

      2️⃣ مسیر ذخیره پوشه‌ها

      مثلاً:

      D:\Archive\Persons

      (اول این پوشه اصلی را دستی بساز)

      3️⃣ کد VBA برای ساخت ۵۰۰۰ پوشه

      در اکسل:

      Alt + F11

      Insert → Module

      کد زیر را کپی کن 👇

      Sub CreateFolders()

      Dim ws As Worksheet
      Dim lastRow As Long
      Dim i As Long
      Dim basePath As String
      Dim folderName As String

      Set ws = ThisWorkbook.Sheets("Sheet1") 'نام شیت را در صورت نیاز تغییر بده

      basePath = "D:\Archive\Persons\" 'مسیر پوشه اصلی

      lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

      For i = 2 To lastRow
      folderName = ws.Cells(i, "A").Value

      If folderName <> "" Then
      If Dir(basePath & folderName, vbDirectory) = "" Then
      MkDir basePath & folderName
      End If
      End If
      Next i

      MsgBox "پوشه‌ها با موفقیت ساخته شدند ✅", vbInformation

      End Sub


      4️⃣ اجرا

      برگرد به اکسل

      Alt + F8

      اجرای CreateFolders

      ⏱️ برای ۵۰۰۰ نفر معمولاً کمتر از چند ثانیه زمان می‌برد.

      نکات حرفه‌ای 🌟

      ✔️ روی ویندوز ۷ و ۱۰ کاملاً سازگار
      ✔️ بدون نیاز به اینترنت
      ✔️ اگر پوشه‌ای وجود داشته باشد، دوباره ساخته نمی‌شود
      ✔️ می‌توانی بعداً:

      داخل هر پوشه زیرپوشه‌هایی مثل (مدارک هویتی، قرارداد، تصاویر) هم بسازی

      با کلیک از اکسل مستقیماً پوشه هر شخص را باز کنی

      پاسخ
    Mohammad

    سلام وقت بخیر و خسته نباشید و با تشکر از آموزشهای بسیار کارآمد جنابعلی ، در خصوص کدهای فوق مربوط به ساخت پوشه روی این خط خطا میده لطفا راهنمایی کنید ممنون میشم ‘ ايجاد پوشه با نام مقدار سلول
    MkDir FolderPath & “\” & CellValue

    پاسخ

      سلام
      ممنون از لطف و توضیح کامل‌تون. خطایی که می‌گیرید کاملاً قابل توضیح است و خوشبختانه ربطی به ویندوز یا آفیس ندارد، مشکل از خود کد است. بگذارید دقیق و تمیز جمعش کنیم.

      🔴 علت خطا

      خطا روی این خط می‌افتد:

      MkDir FolderPath & “\” & CellValue

      چند ایراد مهم در کد وجود دارد:

      1️⃣ متغیر CellValue اصلاً تعریف نشده

      در VBA باید همه متغیرها تعریف شوند، وگرنه خطای Compile یا Runtime می‌خورید.

      2️⃣ احتمال خالی بودن سلول

      اگر حتی یک سلول خالی باشد، MkDir خطا می‌دهد.

      3️⃣ احتمال وجود کاراکتر غیرمجاز در نام پوشه

      کاراکترهایی مثل:

      \ / : * ? ” < > |

      در نام پوشه مجاز نیستند و باعث خطا می‌شوند.

      4️⃣ اگر پوشه قبلاً ساخته شده باشد

      MkDir اگر پوشه از قبل وجود داشته باشد، خطا می‌دهد.

      ✅ نسخه اصلاح‌شده و استاندارد کد (پیشنهادی)

      این نسخه بدون خطا، ایمن و حرفه‌ای است:

      Sub academyruhollah1()

      Dim FolderPath As String
      Dim Cell As Range
      Dim TargetColumn As Range
      Dim CellValue As String
      Dim FullPath As String

      ' مسیر پوشه اصلی (مسیر فایل اکسل)
      FolderPath = ThisWorkbook.Path

      ' ستون شامل نام پوشه‌ها (ستون A)
      Set TargetColumn = ActiveSheet.Range("A1:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)

      ' پیمایش سلول‌ها
      For Each Cell In TargetColumn

      CellValue = Trim(Cell.Value)

      ' اگر سلول خالی بود، رد شود
      If CellValue <> "" Then

      FullPath = FolderPath & "\" & CellValue

      ' اگر پوشه وجود نداشت، ایجاد شود
      If Dir(FullPath, vbDirectory) = "" Then
      MkDir FullPath
      End If

      End If

      Next Cell

      MsgBox "پوشه‌ها با موفقیت ایجاد شدند.", vbInformation

      End Sub

      🔧 اگر باز هم خطا دیدید (نکته مهم)

      بررسی کنید:

      نام‌ها فاصله اول یا آخر نداشته باشند

      کاراکتر غیرمجاز داخل نام‌ها نباشد

      فایل اکسل Save شده باشد (MkDir روی فایل Save نشده خطا می‌دهد)

      🔹 جمع‌بندی

      ✔ خطا به‌دلیل تعریف نشدن متغیر و کنترل نشدن شرایط است
      ✔ کد بالا ایمن، حرفه‌ای و قابل استفاده عمومی است
      ✔ مناسب آموزش، پروژه واقعی و انتشار در سایت

      موفق پیروز باشید

      پاسخ