اضافه کردن یک واحد به نام فایل آخر

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • arash66
    • 2014/12/17
    • 2

    اضافه کردن یک واحد به نام فایل آخر

    سلام دوستان
    یه سوال دارم از اساتید . یه ذره عجیب!

    فرض کنید یک فولدر داریم که در آن یک فایل اکسل (تمپلت) داریم که این فایل کلی فرمول و ... دارد. هر بار که این تمپلت را باز می کنیم اعدادی در آن وارد می کنیم و آن را در همان فولدر save as می کنیم به نام یک عدد مثلا 2566 . دفعه بعد نام فایل ذخیره شده باید 2567 باشد و.....
    حالا می خواهیم موقع ذخیره تمپلت (save as) اکسل اتوماتیک فولدر را بررسی کرده و آخرین شماره را پیدا کند (مثلا آخرین شماره یک فایل اکسل با شماره 2567 است) و به آن یک واحد اضافه کرده و ابتدا آن را در سلول A4 قرار دهد (یعنی 2568) سپس فایل را هم به همان نام (2568) در فولدر ذخیره نماید.
    توجه : میخواهم اگر تمپلت را باز کردیم ولی کلید ذخیره را نزدیم شماره ای اضافه نشود یعنی انگار نه انگار که تمپلت باز شده
    کسی می تونه کمکم کنه؟
    ممنونم میشم
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    نوشته اصلی توسط arash66
    سلام دوستان
    یه سوال دارم از اساتید . یه ذره عجیب!

    فرض کنید یک فولدر داریم که در آن یک فایل اکسل (تمپلت) داریم که این فایل کلی فرمول و ... دارد. هر بار که این تمپلت را باز می کنیم اعدادی در آن وارد می کنیم و آن را در همان فولدر save as می کنیم به نام یک عدد مثلا 2566 . دفعه بعد نام فایل ذخیره شده باید 2567 باشد و.....
    حالا می خواهیم موقع ذخیره تمپلت (save as) اکسل اتوماتیک فولدر را بررسی کرده و آخرین شماره را پیدا کند (مثلا آخرین شماره یک فایل اکسل با شماره 2567 است) و به آن یک واحد اضافه کرده و ابتدا آن را در سلول A4 قرار دهد (یعنی 2568) سپس فایل را هم به همان نام (2568) در فولدر ذخیره نماید.
    توجه : میخواهم اگر تمپلت را باز کردیم ولی کلید ذخیره را نزدیم شماره ای اضافه نشود یعنی انگار نه انگار که تمپلت باز شده
    کسی می تونه کمکم کنه؟
    ممنونم میشم

    سلام دوست عزيز
    چيزي كه شما ميخواين با كد نويسي vba قابل انجام هست
    اين كدي كه خدمتتون ارائه ميدم آخرين (بزرگترين نام) رو براتون پيدا ميكنه و در متغير max قرار ميده. حالا فقط كافيه كدهاي مربوط به سيو كردن رو بهش اضافه كنيد و نام مورد نظر رو بهش معرفي كنيد
    کد:
    Sub findmax()
    Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer, s As Variant
    directory = "C:\Users\Amir\Desktop\New folder\"
    fileName = Dir(directory & "*.xl??")
    i = -1
    ReDim s(0)
    Do While fileName <> ""
        i = i + 1
        ReDim Preserve s(i)
        s(i) = Left(fileName, InStr(fileName, ".xl") - 1)
        fileName = Dir()
    Loop
    a = s(0)
    For Each a In s
        If a >= Max Then Max = a
    Next a
       
    End Sub

    کامنت

    • arash66
      • 2014/12/17
      • 2

      #3
      سلام
      ممنون واقعا لطف کردید. اما راستش من چیزی از vba نمی دونم ممکنه بگید الان این کد را باید کجا قرار بدم تو فایل اکسل؟
      بعد در مورد اینکه نام فایل رو در سلول a4 نشون بده باید چکار کنم؟
      ممنون میشم کامل توضیح بدید چون چیزی در این زمینه نمی دونم

      کامنت

      چند لحظه..