מחיקת שורות ריקות ע"י VBA

makiko

New member
מחיקת שורות ריקות ע"י VBA

שלום,

אקסל 2010: ב clipboard שמורות שורות עם רווחים בינהם. ברצוני לרשום קוד ש:
1. מדביק את תוכן ה Clipboard לתא A1 (לא בקוד שבדוגמא הזו)
2. בודק בכל שורות הטווח המסומן אם יש שורות ריקות. במידה ויש - מוחק את כל השורה

#1 - לא יודע כלל איך לבצע.
#2 - הפונקציה שסופרת את מס' התאים הריקים בשורה - לא מביאה את התוצאה הרצויה. כנראה שטעיתי בקוד

תודה.
 

u333

New member
אז ככה...

אתה שוב עם התאים בהם נראה כאילו !!! התא ריק אך יש בו קוד "32" (בעמודה A)
אז אם באמת תדאג שהתאים יהיו ריקים - הקוד הבא ישמח למחוק את כל השורות בהן התא הראשון אכן באמת ריק.
Sub DelRows()lr = Cells(Rows.Count, 1).End(xlUp).Row
For i = lr To 1 Step -1
If Cells(i, 1) = "" Then Cells(i, 1).EntireRow.Delete NextEnd Sub

לגבי הדבקת תוכן "לוח העריכה" בגיליון - נראה לי כי Paste יכול לעזור.
 

makiko

New member
תודה: מכיוון שאני לא יכול לנקות את התאים האלו

אצטרך קוד שבודק אם השורות מכילות רק תווים לא קריאים (רווחים / אנטרים וכו')
&nbsp
במידה ויש לפחות תו אחד שהינו ויזיבילי - מבחינתי השורה מכילה תוכן ויש להשאיר שורה זו.
&nbsp
את כל שאר השורות - למחוק
 

מיכאל אבידן

Active member
מנהל
היום זה תו ה"רווח" ומחר קוד 0160 או 0254 . . .


לכן, החלטתי להציג לך תמונה ובה העיקרון (בו הייתי משתמש) וכל שנותר לך הוא להוציאו 'מן הכוח אל הפועל'.

 

u333

New member
בינתיים נסה להשתמש בקוד הבא.

לצורך השאלה - כפי שהוצגה בקובץ - הוא עושה את העבודה.
Sub DelRows()lr = Cells(Rows.Count, 1).End(xlUp).Row
For i = lr To 1 Step -1
Cells(i, 1) = Trim(Cells(i, 1)) If IsEmpty(Cells(i, 1)) Then Cells(i, 1).EntireRow.DeleteNextEnd Sub
 
למעלה