صفحه 1 از 3 123 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 24

موضوع: ماکرو برای پاک کردن هوشمند

  1. #1


    آخرین بازدید
    2022/12/20
    تاریخ عضویت
    August 2015
    نوشته ها
    99
    امتیاز
    17
    سپاس
    20
    سپاس شده
    7 در 7 پست
    تعیین سطح نشده است

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

    سلام بر اساتید و دوستان عزیز
    من فایل اکسلی دارم که تعدا زیادی جدول که دقیقا شبیه هم هستند داره و فقط محتوای سلولهای این جداول متفاوتند ، در فایلی که پیوست کردم نمونه کوچکی از موضوع را که مد نظرم هست را نشان دادم ، به ازای هرجدول سطری وجود دارد که اطلاعات آن جدول در سطر متناظرش منتقل می شود مثلا اطلاعات جدول 1 در سطری که شماره جدول ان 1 است (که با رنگ قرمز نشان داده ام) منتقل میشود. تعدادی از سلولهای جداول به خاطر اینکه محتوایشان فرمول است قفل و hiden شده اند و تعدادی هم جهت ورود اطلاعات باز هستند ، حال من کدی نوشتم (با کمک شما اساتید عزیز) که وقتی شماره جدولی را انتخواب میکنم (شماره قرمز که عنوان شماره جدول دارند را) و دکمه بایگانی را میزنم اطلاعات آن سطر در اولین سطر خالی در شیت 2 کپی میشود و اصطلاحا بایگانی میکنم ، حال میخواهم کدی نوشته شود که بعد از بایگانی کردن مثلا اطلاعات سطر جدول شماره 1 ، اطلاعات خود جدول 1 یعنی جدول متناظر پاک شود (البته قبل از پاک شدن پیغامی مبنی بر اینکه پاک شود یا نه بدهد) .(شماره هر جدول در سلول بالا سمت راست آن نوشته شده است.) فایل پیوست کاملا گویاست رمز قفل 123

    متشکرم از حسن نظرتان
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    پاسخ مورد نظر براي اين تاپيك ارسال شده است.

  2.  

  3. #2


    آخرین بازدید
    12 دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    سلام دوست عزیز
    متاسفانه فایلتون گویا نیست
    جداولی که شما دارین به همین صورت شلخته و نامنظم اطلاعات داره؟ بعد این اطلاعات پایین صفحه چیه؟ همینا که شماره جدولش رو با قرمز مشخص کردین؟
    الان این اطلاعات که ستون اولش رو با قرمز مشخص کردین میره تو شیت دو بایگانی میشه؟ بعد میخواین این اطلاعات از جدول متناظرش حذف بشه؟

  4. سپاس ها (1)


  5. #3


    آخرین بازدید
    2022/12/20
    تاریخ عضویت
    August 2015
    نوشته ها
    99
    امتیاز
    17
    سپاس
    20
    سپاس شده
    7 در 7 پست
    تعیین سطح نشده است

    سلام ، نه مهندس جان جداول من بسیار مرتب و سلولهای آن پر از فرمولهای پیچیده و طولانی همراه با ماکروهای زیادی هست و تکنیکهای زیادی را بکار بردم این فایل که فرستادم فقط خواستم بگم که چی میخوام .
    بله هدف اصلی اینه که بعد از اجرای ماکروی بایگانی ، بعد از بایگانی اعداد سطر مورد نظر ، محتوای سلولهای جدول متناظرش (سلولهایی که قفل نیستند) پاک بشه
    اطلاعات پایین صفحه که در سه سطر هست همان اطلاعات جداول نظیر هستند که در پایین مرتب شده اند

    متشکرم

  6. #4


    آخرین بازدید
    12 دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    امیدوارم درست متوجه شده باشم

    محدوده هایی که میخواین پاک بشن رو با دستور clearcontents محتوای اون سلول ها رو پاک میکنید
    کد:
    Sub ExcelIran()
    Dim cel As Range
    Dim TableNum As Integer
    Lrow = Range("A1000").End(xlUp).Row
    TableNum = Range("A" & Lrow).Value
    For Each cel In Range("B" & Lrow & ":N" & Lrow)
        cleared = clearcontent(cel, TableNum)
    Next cel
    End Sub
    
    Function clearcontent(cel As Range, TableNum As Integer)
    Dim C As Range
    Select Case TableNum
        Case 1
            For Each C In Range("B1:H14")
                If C.Value = cel.Value Then C.ClearContents
                Exit For
            Next C
        Case 2
            For Each C In Range("J1:P14")
                If C.Value = cel.Value Then C.ClearContents
                Exit For
            Next C
        Case 3
            For Each C In Range("R1:X14")
                If C.Value = cel.Value Then C.ClearContents
                Exit For
            Next C
    End Select
    
    End Function


  7. #5


    آخرین بازدید
    2022/12/20
    تاریخ عضویت
    August 2015
    نوشته ها
    99
    امتیاز
    17
    سپاس
    20
    سپاس شده
    7 در 7 پست
    تعیین سطح نشده است

    سلام ممنوع از زحمتی که کشیدید نمیدونم این کد رو خودتون امتحان کردید یا نه متاسفانه من نتونستم run کنم اگر ممکنه در همون فایل پیوست که براتون ارسال کردم کدتان را در ادامه ماکروی بنده وارد کنید و یک بار تست بفرمایید متشکرم

  8. #6


    آخرین بازدید
    12 دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    سلام دوست عزیز
    این کد نمونس. باید برای حالت خودتون خصوصی سازیش کنید
    البته کامل هم نیست. چون شما خودتون vba بلدین من دیگه در حد نیاز براتون نوشتم. بقیش با خودتون

  9. #7


    آخرین بازدید
    2022/12/20
    تاریخ عضویت
    August 2015
    نوشته ها
    99
    امتیاز
    17
    سپاس
    20
    سپاس شده
    7 در 7 پست
    تعیین سطح نشده است

    متشکرم مهندس جان البته بنده در vba کاملا تازه کار هستم ، قبلا کدی برام فرستادید که با مطالعه عملکرد آن و تغیر در آن، کدها جالبی نتیجه گرفتم ولی متاسفانه درمورد کدی که فرستادید موفق به اجرا و درک کامل نشدم اگر لطف بفرمایید در مثالی که فرستادم اجرا کنید به پیشرفت کد نویسی بنده کمک زیادی میفرمایید البته اذعان دارم که به این کد نیاز وافر دارم
    زیاده خواهی بنده را عفو فرمایید متشکرم

  10. #8


    آخرین بازدید
    12 دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    بفرمایید این کد رو تست کنید
    قفل شیت رو هم غیر فعال کنید لطفا

    کد:
    Sub ExcelIran()
    Dim cel As Range
    Dim TableNum As Integer
    Lrow = Range("A1000").End(xlUp).Row
    Frow = Range("A" & Lrow).End(xlUp).Row + 1
    For i = Lrow To Frow Step -1
        TableNum = Range("A" & i).Value
        For Each cel In Range("B" & Lrow & ":N" & Lrow)
            cleared = clearcontent(cel.Text, TableNum)
        Next cel
        Rows(i & ":" & i).ClearContents
    Next i
    End Sub
    
    
    Function clearcontent(cel, TableNum As Integer)
    Dim C As Range
    Select Case TableNum
        Case 1
            For Each C In Range("B1:H14")
                If C.Value = cel Then
                    C.ClearContents
                    Exit For
                End If
            Next C
        Case 2
            For Each C In Range("J1:P14")
                If C.Value = cel Then
                    C.ClearContents
                    Exit For
                End If
            Next C
        Case 3
            For Each C In Range("R1:X14")
                If C.Value = cel Then
                    C.ClearContents
                    Exit For
                End If
            Next C
    End Select
    End Function

  11. سپاس ها (1)


  12. #9


    آخرین بازدید
    2022/12/20
    تاریخ عضویت
    August 2015
    نوشته ها
    99
    امتیاز
    17
    سپاس
    20
    سپاس شده
    7 در 7 پست
    تعیین سطح نشده است

    ممنون مهندس ، عمل کرد فقط برعکس عمل میکنه ، یعنی بجای محتوای داخل جداول (سلولهایی که قفل نیستند) ، خود سطرها را پاک میکنه ، همون سطرهایی که شمارشونو با قرمز نشون دادم ، سطرها نباید پاک بشن محتوای سلولهای غیر قفل داخل جدولهای متناظر بایستی پاک بشوند. ممنون

  13. #10


    آخرین بازدید
    12 دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط taocom52 نمایش پست ها
    ممنون مهندس ، عمل کرد فقط برعکس عمل میکنه ، یعنی بجای محتوای داخل جداول (سلولهایی که قفل نیستند) ، خود سطرها را پاک میکنه ، همون سطرهایی که شمارشونو با قرمز نشون دادم ، سطرها نباید پاک بشن محتوای سلولهای غیر قفل داخل جدولهای متناظر بایستی پاک بشوند. ممنون


    محتویات جدول رو هم پاک میکنه بعد سطر رو هم پاک میکنه. چون من گفتم شما بایگانی کردی دیگه نیازی به اونا نیست.
    این خط رو حذف کنید تا سطرها رو پاک نکنه
    کد:
    Rows(i & ":" & i).ClearContents
    درضمن شما در ردیف هایی که قرمز هست سلول مرج شده استفاده کردین که نباید استفاده بشه

  14. سپاس ها (1)



صفحه 1 از 3 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

ماکروی پاک کردن

خالی کردن شیت ماکرو

خالی کردن اطلاعات شتون اکسل

پاک کردن سلول با فرمان در اکسل

ماکرو نویسی حذف اطلاعات یک محدوده

ماکرو حذف مقدار یک سلول

دستور حذف کردن‌ هوشمند در اکسل

فرمول ماکرو برای پاک کردن یک سلول در اکسل

https:forum.exceliran.comshowthread.php9112-ماکرو-برای-پاک-کردن-هوشمند

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است