تارا اغلب کتاب هایی را دریافت می کند که حاوی یک کاربرگ واحد است که در آن برخی از اطلاعات در کاربرگ حاوی متنی است که از طریق آن نوشته شده است (متن با استفاده از خط بندی قالب بندی می شود). سطرهایی که حاوی متن نوشته شده هستند باید حذف شوند، اما تارا مطمئن نیست که چگونه سریع این کار را انجام دهد.
اگر فقط لازم است این کار را هر چند وقت یکبار انجام دهید، مراحل زیر به شما کمک می کنند تا ببینید کدام سلول ها دارای قالب بندی خطی هستند:
- در سمت چپ اولین ردیفی که می خواهید انتخاب کنید کلیک کنید - اولین ردیفی که حاوی متن کامل است. کل ردیف باید انتخاب شود.
- همانطور که در سمت چپ هر ردیف دیگری که می خواهید حذف کنید، کلید Ctrl را نگه دارید . (شما در حال ساخت مجموعه انتخابی از ردیف ها برای حذف هستید.)
- Ctrl+- (کلید منهای) را فشار دهید . ردیف ها حذف می شوند.
اگر دیدن همه ردیف های حاوی متن نوشته شده به این راحتی نیست، می توانید برای یافتن آنها به ویژگی Find تکیه کنید:
- Ctrl+F را فشار دهید . اکسل تب Find از کادر محاوره ای Find and Replace را نمایش می دهد.
- برای گسترش آنچه در کادر محاوره ای موجود است، روی دکمه گزینه ها کلیک کنید.
- مطمئن شوید که کادر Find What خالی است و نقطه درج را در آن کادر قرار دهید.
- روی دکمه Format کلیک کنید. اکسل کادر محاوره ای Find Format را نمایش می دهد.
- مطمئن شوید که تب Font قابل مشاهده است. (احتمالاً به صورت پیش فرض نمایش داده می شود.)
- یک یا دو بار روی کادر علامت گذاری کلیک کنید تا اینکه ببینید انتخاب شده است. (نباید نیازی به تغییر چیز دیگری در کادر محاوره ای داشته باشید.)
- روی OK کلیک کنید تا کادر گفتگوی Find Format حذف شود.
- روی Find All کلیک کنید. کادر محاوره ای Find and Replace گسترش می یابد تا نشان دهد کدام سلول ها دارای قالب بندی خط خطی هستند و اولین نتیجه (در کادر محاوره ای) انتخاب می شود.
- Ctrl+A را فشار دهید . این همه نتایج را در کادر محاوره ای انتخاب می کند.
- روی Close کلیک کنید تا کادر گفتگوی Find Format حذف شود. اکنون باید تمام سلول های حاوی متن خط خورده انتخاب شوند. (در هیچ جای دیگری از کاربرگ کلیک نکنید یا به طور ناخواسته سلول ها را لغو می کنید.)
- Ctrl+- (کلید منهای) را فشار دهید . اکسل کادر محاوره ای Delete را نمایش می دهد.
- روی دکمه رادیویی Entire Row کلیک کنید.
- روی OK کلیک کنید. ردیف ها حذف می شوند.
یک اشکال در این رویکرد وجود دارد - هیچ سلولی حاوی قالب بندی ترکیبی پیدا نمی کند. به عبارت دیگر، اگر فقط برخی از متن های داخل سلول از ویژگی خطی استفاده کند، آن سلول در مرحله 8 یافت نمی شود.
با استفاده از کلان می توان این کمبود را برطرف کرد. بعلاوه، اگر نیاز دارید این کار را اغلب انجام دهید، یک ماکرو رویکرد خوبی است. یکی که این کار را انجام می دهد:
Sub DeleteSTRows()
Dim c As Range
Dim bCheck As Boolean
Dim J As Integer
Dim iRows As Integer
iRows = Selection.Rows.Count
If iRows > 2 Then
For J = iRows To 1 Step -1
bCheck = False
For Each c In Selection.Rows(J).Cells
bCheck = IsNull(c.Font.Strikethrough)
If Not bCheck Then bCheck = c.Font.Strikethrough
If bCheck Then Exit For
Next c
If bCheck Then Selection.Rows(J).EntireRow.Delete
Next J
End If
End Sub
برای استفاده از ماکرو، کافی است سلول هایی را که می خواهید تحت تأثیر قرار دهید انتخاب کنید و سپس آن را اجرا کنید. ماکرو از هر سطر از انتخاب (از آخرین سطر به سطر اول) عبور می کند و سپس هر سلول درون آن سطرها را بررسی می کند. اگر سلول حاوی متن نوشته شده باشد، یک پرچم (bCheck) تنظیم می شود و کل ردیف حذف می شود. (اگر انتخاب شما فقط شامل 1 یا 2 ردیف باشد، ماکرو کار نخواهد کرد - بررسی و تنظیم دستی تعداد کمی از سطرها به اندازه کافی آسان است.)
در وسط ماکرو دقت کنید که از تابع IsNull استفاده شده است. این بخشی است که تشخیص می دهد سلول دارای قالب بندی ترکیبی است یا خیر. اگر فقط برخی از کاراکترهای سلول از خط عبور استفاده کنند، یک مقدار تهی توسط ویژگی Strikethrough برگردانده می شود. این مورد توسط IsNull بررسی می شود و به متغیر bCheck اختصاص داده می شود. اگر bCheck هنوز نادرست است (به این معنی که هیچ استفاده ترکیبی از ضربه زدن در سلول وجود ندارد)، کل سلول بررسی می شود تا ببینیم آیا قالب بندی لازم را دارد یا خیر.
لازم به ذکر است که اگر نمی خواهید ماکرو واقعاً ردیف ها را حذف کند، اما ترجیح می دهید فقط آنها را پاک کنید، می توانید روش .Delete را در ماکرو با روش .Clear جایگزین کنید.