কোনও টেবিলের প্রথম দুটি সারি বাদে সমস্ত কীভাবে মুছবেন (শিরোনামগুলি প্রথম সারিতে থাকে)


0

আমার কাছে একটি টেবিল রয়েছে যা অন্য কেউ সাপ্তাহিক হিসাবে নতুন ডেটা আটকায়। প্রতি সপ্তাহে আটকানো তথ্যগুলি কলামগুলি নয় তবে সারি অনুসারে আকারে পরিবর্তিত হবে। আমি প্রথমে প্রক্রিয়াটি স্বয়ংক্রিয় করেছি যেখানে আমি প্রথম সারিতে রাখি যাতে সূত্রগুলি অপসারণ না হয়। আমি কোডটি বরাদ্দ করেছি এমন একটি বোতামের মাধ্যমে এই সমস্ত কাজ শেষ। এখন আমার টেবিলের বাকী সারিগুলি মুছতে হবে। আমার এখন পর্যন্ত কোডটি এখানে কার্যকর যা কাজ করে:

Sub ShrinkTable()
    Range("RDNPPD[[#Headers],[Follow Up by Corp Security]]").Select
    ActiveSheet.ListObjects("RDNPPD").ListRows(ActiveCell.Row - 
    1).Range.Select
    Range(Selection, Selection.End(xlDown)).Select    
End Sub

Sub DeleteRows()
    Selection.ListObject.ListRows(2).Delete
    Selection.ListObject.ListRows(2).Delete
    Selection.ListObject.ListRows(2).Delete
    Range("RDNPPD[[#Headers],[Follow Up by Corp Security]]").Select
End Sub

RE: সাব ডিলিটরোজ () - আমি একটি ম্যাক্রো রেকর্ড করেছি এবং সারণীতে যতগুলি সারি মুছে ফেলা হবে তার কোডের প্রথম লাইন পুনরাবৃত্তি করে, যা প্রতিটি ব্যবহারের ফলে পরিবর্তিত হবে এটি কার্যকর হবে না। মোছার জন্য প্রথম সারিটি সর্বদা একই থাকে: সারি 5 5. কোডটি গতিশীল হওয়ার জন্য কোডটি অ্যাকাউন্টের প্রয়োজন হওয়া এটি সর্বশেষ সারি।

আমি কীভাবে গতিশীল পরিবেশের জন্য নির্বাচনটি মুছব? অনেক ধন্যবাদ!



উত্তর:


0

এটি আপনার রেকর্ডিংয়ের নকল করে - টেবিলের শেষ সারিটি মুছুন যতক্ষণ না কেবল একটি সারি অবশিষ্ট থাকে

এটি বন্ধ হয় ScreenUpdatingএবং Calculationএটি দ্রুত তৈরি করতে; শেষে এটি তাদের ফিরিয়ে দেয়


Option Explicit

Public Sub ShrinkTable()

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    With ThisWorkbook.Worksheets("Sheet3")              'Update Sheet Name
        If .ListObjects.Count > 0 Then
            With .ListObjects("RDNPPD")
                While .ListRows.Count > 1               'Delete last row until first
                    .ListRows(.ListRows.Count).Delete
                Wend
            End With
        End If
    End With

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

End Sub

আগে

আগে

পরে

পরে

Table( ListObject) কাঠামো


টেবিল


ধন্যবাদ! আমি উভয় চেষ্টা করেছিলাম কিন্তু একই ত্রুটি বার্তাটি পেয়েছি: রেঞ্জ শ্রেণির মুছতে পদ্ধতি ব্যর্থ হয়েছে। আমার একটি মডিউলে কোড সেটআপ রয়েছে যাতে আমি বোতামের জন্য শীটটিতে এটি কল করতে পারি। এটিই কি সমস্যার কারণ হতে পারে?
স্ট্যাসি বুলিস

এছাড়াও, ভেবেছিলাম সম্ভবত ত্রুটিটি অটোফিল্টারের সাথে সম্পর্কিত ছিল তাই আমি এটিকে বন্ধ করার জন্য কোডটি লিখেছিলাম তবে আমি এখনও কোডের প্রতিটি উদাহরণ লাইনে ত্রুটি পেয়েছি।
স্ট্যাসি বুলিস

আমার স্প্রেডশীটে ওয়ার্কশিটগুলি লুকানো আছে তবে কোডের এই অংশটি চললে, সক্রিয় শীটটিতে কোনও সুরক্ষা পাওয়া যায় না। আপনার দেওয়া কোডের আগে আমি আমার প্রশ্নের প্রদত্ত কোডটি চালিয়েছি। নির্বিশেষে, আমার কোড সহ বা ছাড়াই, 'রেঞ্জ শ্রেণির মুছতে পদ্ধতি ব্যর্থ হয়েছে' এর একই ত্রুটি বার্তা উপস্থিত হয়। আমার প্রশ্ন জমা দেওয়ার আগে আমি আপনার সমাধানগুলি চেষ্টা করেছিলাম কিন্তু ভেবেছিলাম আমার কিছু ভুল হয়েছে। এখান থেকে যেতে যেখানে নিশ্চিত নন?
স্ট্যাসি বুলিস

ঠিক আছে, সবেমাত্র পরিবর্তন হয়েছে nআন্টিরো.ডিলিট .এন্টিআর.ও.সিলিট করুন এবং সারণীর প্রথম সারি বাদে সমস্তই নির্বাচন করা হয়েছে। এরপর কি?
স্ট্যাসি বুলিস

আমি নির্বাচিত সারিগুলি মুছতে Ctrl + - (বিয়োগ) টিপতে ব্যবহারকারীর জন্য একটি বার্তা বাক্স যুক্ত করতে পারি তবে যদি সম্ভব হয় তবে কোডটি এটি হ্যান্ডেল করা পছন্দ করবে।
স্ট্যাসি বুলিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.