فهرست مطالب
در VBA می توانید از روش های مختلفی برای یافتن ردیف آخر استفاده کنید. در این مقاله، من قصد دارم روشهای مختلف یافتن ردیف آخر VBA را در اکسل توضیح دهم.
برای اینکه این توضیح قابل مشاهده باشد، از یک مجموعه داده نمونه استفاده میکنم. 4 ستون در مجموعه داده وجود دارد که نشان دهنده اطلاعات فروش است. این ستون ها عبارتند از شخص فروش، منطقه، محصول، و قیمت .
دانلود برای تمرین
VBA Find Last Row.xlsm
راه های VBA یافتن آخرین ردیف در اکسل
1. استفاده از SpecialCells برای یافتن آخرین ردیف
می توانید از روش SpecialCells برای یافتن آخرین ردیف با استفاده از VBA استفاده کنید.
ابتدا Developer را باز کنید. برگه >> سپس Visual Basic
پنجره جدیدی از Microsoft Visual Basic for Applications ظاهر می شود.
اکنون از Insert >> Module
A Module باز می شود.
سپس کد زیر را در <2 بنویسید>Module .
6178
در اینجا، من یک روش فرعی به نام LastRow_SpecialCells ایجاد کرده ام که در آن یک Long تایپ کنید. متغیر LastRow اعلام شده است.
سپس متغیر را با استفاده از روش Range.SpecialCells تعریف کرد. در اینجا، من از ستون A ( A:A ) به عنوان محدوده استفاده کرده ام. ارائه xlCellTypeLastCell به عنوان پارامتر نوع SpecialCells ، آخرین سلول برای محدوده (برای این مورد، از ستون A ).
من از یک کادر پیام برای نشان دادن نتیجه استفاده کردم.
پس از آن، کد را ذخیره کنید و به کاربرگ.
دوباره، برگه نمایش >> از ماکروها >> مشاهده ماکروها
سپس، یک کادر گفتگو باز می شود.
اکنون، از نام ماکرو LastRow_SpecialCells را انتخاب کنید همچنین کتاب کار را در Macros در انتخاب کنید.
در نهایت، ماکرو انتخاب شده را اجرا کنید.
بنابراین، یک کادر پیام ظاهر می شود که شماره ردیف آخر را نشان می دهد.
2. استفاده از Rows.Count برای سلول های غیر خالی
شما می توانید از روش Rows.Count برای یافتن آخرین ردیف با استفاده از VBA استفاده کنید. .
اکنون، برگه Developer >> سپس Visual Basic
پنجره جدیدی از Microsoft Visual Basic for Applications را انتخاب کنید.
اکنون از Insert >> Module
A Module باز می شود.
سپس کد زیر را در <2 بنویسید>Module .
9969
در اینجا، من یک روش فرعی به نام LastRow_NonEmpty ایجاد کرده ام که در آن یک نوع Long از متغیر LastRow اعلام شده است.
اکنون، CELLS(Rows.Count, 1) شمارش می کند که چند ردیف در ستون اول وجود دارد. سپس از End(xlUp).Row استفاده کرد و اکنون آخرین ردیف استفاده شده را در یک محدوده اکسل پیدا می کند.
در پایان، من از یک کادر پیام برای نشان دادننتیجه.
سپس، کد را ذخیره کنید و به کاربرگ برگردید.
در اینجا، برگه نمایش >> از ماکروها >> مشاهده ماکروها
اکنون، یک کادر گفتگو باز می شود.
سپس، از نام ماکرو LastRow_NonEmpty را نیز در Macros در انتخاب کنید.
در نهایت، Macro انتخاب شده را اجرا کنید.
بنابراین، یک کادر پیام ظاهر می شود که شماره ردیف آخر را نشان می دهد.
3. استفاده از Rows.Count برای هر ستون انتخابی
با استفاده از هر ستون انتخابی در VBA، می توانید آخرین ردیف را پیدا کنید.
ابتدا ، برگه Developer >> سپس Visual Basic
پنجره جدیدی از Microsoft Visual Basic for Applications ظاهر می شود.
اکنون از Insert >> Module
A Module باز می شود.
سپس کد زیر را در <2 بنویسید>Module .
6493
در اینجا، من یک روش فرعی به نام LastRow_AnyColumn ایجاد کرده ام که در آن یک نوع Long از متغیر LastRow اعلام شده است.
سپس، در Range با توجه به ستون B به عنوان پارامتر و همچنین Rows.Count ، این شمارش خواهد شد که چند ردیف در یک ستون معین وجود دارد B . بعد از End(xlup) استفاده شد. ردیف که آخرین ردیف استفاده شده را در یک محدوده اکسل پیدا می کند.
آخرین، من از یک کادر پیام برای نشان دادننتیجه.
بعد، کد را ذخیره کنید و به کاربرگ برگردید.
سپس، برگه نمایش >> از ماکروها >> مشاهده ماکروها
در اینجا، یک کادر گفتگو باز می شود.
<1 را انتخاب کنید>
اکنون، از نام ماکرو LastRow_AnyColumn را نیز در Macros در انتخاب کنید.
در نهایت، Macro انتخاب شده را اجرا کنید.
بنابراین، یک کادر پیام ظاهر می شود که شماره ردیف آخر را نشان می دهد.
خوانده های مشابه:
- پیدا کردن VBA در ستون در اکسل (7 رویکرد)
- یافتن و جایگزینی با استفاده از VBA (11 راه ها)
- پیدا کردن تطابق دقیق با استفاده از VBA در اکسل (5 روش)
- نحوه یافتن رشته با VBA در اکسل (8 مثال)
4. استفاده از UsedRange برای یافتن آخرین ردیف
شما می توانید از ویژگی UsedRange کاربرگ برای یافتن آخرین ردیف استفاده کنید. ردیف با استفاده از VBA .
اکنون، برگه Developer >> سپس Visual Basic
سپس، پنجره جدیدی از Microsoft Visual Basic for Applications ظاهر می شود.
اکنون، از درج >> Module
A Module باز می شود.
سپس، کد زیر را در <بنویسید 2>Module .
8618
در اینجا، من یک روش فرعی به نام LastRow_UsedRange ایجاد کرده ام که در آن یک نوع Long از متغیر LastRow اعلام شده است.
بعد، تعریف شده استمتغیر با استفاده از روش ActiveSheet.UsedRange.Rows نیز ActiveSheet.UsedRange.Rows.Count را به عنوان پارامتر ActiveSheet.UsedRange.Rows ارائه می کند، این مقدار را برمی گرداند. ردیف آخر.
من از یک جعبه پیام برای نشان دادن نتیجه استفاده کرده ام.
اکنون، کد را ذخیره کنید و به کاربرگ برگردید.
>سپس، برگه نمایش >> از ماکروها >> مشاهده ماکروها
بعدی را انتخاب کنید، یک کادر گفتگو باز می شود.
سپس، از ماکرو نام LastRow_UsedRange را انتخاب کنید همچنین کتاب کار را در ماکروها در انتخاب کنید.
در نهایت، اجرا کنید ماکرو انتخاب شده<5 را اجرا کنید>.
بنابراین، یک کادر پیام ظاهر می شود که شماره ردیف آخر را نشان می دهد.
5. استفاده از Range.Find برای یافتن آخرین ردیف
می توانید از روش Range.Find برای یافتن آخرین ردیف با استفاده از VBA استفاده کنید.
اکنون، <2 را باز کنید>برنامهنویس برگه >> سپس Visual Basic
در اینجا، پنجره جدیدی از Microsoft Visual Basic for Applications ظاهر می شود.
اکنون، از درج >> Module
A Module باز خواهد شد.
سپس کد زیر را در Module بنویسید.
6012
در اینجا، من یک روش فرعی به نام Range_Find_Method ایجاد کرده ام که در آن یک نوع Long از متغیر LastRow اعلام شده است. .
سپس متغیر را با استفاده از روش Cells.Find تعریف کرد. در اینجا، 7 اعلام شدمولفه های. در چه پارامتر از ("*") استفاده کردم که اولین سلول غیر خالی را پیدا می کند. A1 به عنوان محدوده در پارامتر After برای شروع در نظر گرفته شده است. در پارامتر LookAt xlPart برای مشاهده هر بخشی از متن در داخل سلول ارائه شده است.
LookIn:=xlFormulas پارامتر را جستجو می کند. فرمول ها در صورت وجود SearchOrder:=xlByRows پارامتر از راست به چپ حرکت میکند و همچنین در هر ردیف حلقه میزند تا زمانی که یک سلول غیر خالی پیدا کند.
MatchCase:=False پارامتر به Find می گوید که حروف بزرگ یا کوچک را در نظر نگیرد. وقتی یک غیر خالی پیدا شد متوقف می شود و شماره ردیف را برمی گرداند.
من از یک کادر پیام برای نشان دادن نتیجه استفاده کرده ام.
اکنون، ذخیره کد و به کاربرگ برگردید.
در اینجا، برگه نمایش >> از ماکروها >> مشاهده ماکروها
اکنون، یک کادر گفتگو باز می شود.
اکنون، از نام ماکرو روش را انتخاب کنید. Macro انتخاب شده را اجرا کنید.
بنابراین، یک کادر پیام ظاهر می شود که شماره ردیف آخر را نشان می دهد.
نتیجه
در این مقاله، من 5 راه برای VBA پیدا کردن آخرین ردیف در اکسل را توضیح دادهام. برای یافتن ردیف آخر می توانید هر یک از روش ها را دنبال کنید. اگر در مورد این روش ها ابهام یا سوالی دارید می توانیددر زیر نظر دهید.