#1 04.12.09 13:27
Требуется помощь. Задача: написать макрос в Excel
Простой по идее должен быть макрос, но я с ними никогда не работал, поэтому хз что и куда писать.
Суть задачи: если содержимое ячеек С D E в строках от 1 и далее (например С45 и D45 и E45) пустое, то строка удаляется и сканирование идет дальше, доходит до, например С100 и D100 и E100 и опять они все три пустые - вся строка удаляется.
Скиньте сюда текст макроса, если кому не сложно такое написать.
Offline
#2 04.12.09 16:42
Re: Требуется помощь. Задача: написать макрос в Excel
в смысле удаляются? тебе какой-то массив нужен?
Offline
#3 04.12.09 17:23
Re: Требуется помощь. Задача: написать макрос в Excel
удаляются из листа.
Скажем так, - есть список, где в колонке "А" всегда указано наименование, а в колонках C,D,E могут быть некие числа. Либо колонки C,D,E могут быть пустыми, так вот мне надо чтобы при совпадении С=пусто, D=пусто и E=пусто, независимо от того есть что-то в "А" или нет эта строка АCDE просто удалялась из листа.
Offline
#4 04.12.09 20:40
Re: Требуется помощь. Задача: написать макрос в Excel
Sub DeleteEmptyRows()
LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = LastRow To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
Offline
#5 04.12.09 20:47
Re: Требуется помощь. Задача: написать макрос в Excel
Удаление всех пустых строк
Offline
#7 05.12.09 00:40
Re: Требуется помощь. Задача: написать макрос в Excel
Function NoBlanks(DataRange As Range) As Variant()
Dim N As Long
Dim N2 As Long
Dim Rng As Range
Dim MaxCells As Long
Dim Result() As Variant
Dim R As Long
Dim C As Long
MaxCells = Application.WorksheetFunction.Max( _
Application.Caller.Cells.Count, DataRange.Cells.Count)
ReDim Result(1 To MaxCells, 1 To 1)
For Each Rng In DataRange.Cells
If Rng.Value <> vbNullString Then
N = N + 1
Result(N, 1) = Rng.Value
End If
Next Rng
For N2 = N + 1 To MaxCells
Result(N2, 1) = vbNullString
Next N2
If Application.Caller.Rows.Count = 1 Then
NoBlanks = Application.Transpose(Result)
Else
NoBlanks = Result
End If
End Function
немного переделать надо
Offline

