PDA

View Full Version : ایجاد ماکرو برای حذف سطرهای یک در میان



samiasoft
شنبه 17 خرداد 1393, 00:22 صبح
سلام دوستان

من میخواستم در اکسل سطرهای یک در میان رو حذف کنم
یعنی فرض کینن از 1 تا n سطر داریم میخواستم سطرهای 2 و 4 و 5 و 6 و...حذف بشن

از دوستان ایا کسی بلده برای این کار کدشو بصورت ماکرو برای اکسل بنویسه؟

samiasoft
شنبه 17 خرداد 1393, 14:30 عصر
من این کد رو برای ماکرو نوشتم و درست کاکرد

Dim i As Long
Dim d As Long

Sub sbDeleteARow()
For i = 1 To Selection.Rows.Count
d = i + 1
Rows(d).Delete
Next i
End Sub



اما اخه چرا این کد درست عمل میکنه؟اخه انتظار میرفت همشو حذف کنه:لبخند:

AbbasSediqi
شنبه 17 خرداد 1393, 17:06 عصر
این نمونه ماکرو برای حذف سلول های خالی در اکسل هستش دوست عزیز

Sub test()
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
With ws
Set fd = .Cells.Find(what:="*")
If Not fd Is Nothing Then
fc = fd.Column
If fc > 2 Then
.Range("A1", .Columns(fc - 2)).EntireColumn.Delete
End If
End If
End With
Next
Application.ScreenUpdating = True
End Sub

اینم یه نمونه دیگه

Sub DeleteColumns()
Worksheets(2).Activate
Worksheets(2).Range("B1:B100").Select
If Sum(Selection).Value = 0 Then
Column("B").EntireColumn.Delete
Else

End Sub

samiasoft
شنبه 17 خرداد 1393, 21:14 عصر
در تکمیل فرمایش شما من از این کد هم برای حذف سطور خالی استفاده کردم و درست کار میکنه

Sub DeleteBlankRows()

'Deletes the entire row within the selection if the ENTIRE row contains no data.


'We use Long in case they have over 32,767 rows selected.

Dim i As Long


'We turn off calculation and screenupdating to speed up the macro.

With Application

.Calculation = xlCalculationManual

.ScreenUpdating = False