Gopronotmore
Дата: Среда, 02.12.2015, 12:40 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация:
3
±
Замечаний:
0% ±
Excel 2007
Добрый день формучане! Вопрос вот мучаюсь с таблицей в которой много значений. Задача вот в чем. Есть список как в примере упростим есть числа который идут со знаком + и со знаком - Как написать скрипт который при просмотре диапазона удалял строки которые в сумме дают 0 ??? Заранее спасибо
Добрый день формучане! Вопрос вот мучаюсь с таблицей в которой много значений. Задача вот в чем. Есть список как в примере упростим есть числа который идут со знаком + и со знаком - Как написать скрипт который при просмотре диапазона удалял строки которые в сумме дают 0 ??? Заранее спасибо Gopronotmore
Ответить
Сообщение Добрый день формучане! Вопрос вот мучаюсь с таблицей в которой много значений. Задача вот в чем. Есть список как в примере упростим есть числа который идут со знаком + и со знаком - Как написать скрипт который при просмотре диапазона удалял строки которые в сумме дают 0 ??? Заранее спасибо Автор - Gopronotmore Дата добавления - 02.12.2015 в 12:40
Gustav
Дата: Среда, 02.12.2015, 13:00 |
Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2877
Репутация:
1217
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
А числа по модулю все одинаковые и только знаком отличаются? Или самые разнообразные могут быть, когда, например, придётся квитовать одну строку +10 с тремя строками -3, -6, -1?
А числа по модулю все одинаковые и только знаком отличаются? Или самые разнообразные могут быть, когда, например, придётся квитовать одну строку +10 с тремя строками -3, -6, -1? Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение А числа по модулю все одинаковые и только знаком отличаются? Или самые разнообразные могут быть, когда, например, придётся квитовать одну строку +10 с тремя строками -3, -6, -1? Автор - Gustav Дата добавления - 02.12.2015 в 13:00
Gopronotmore
Дата: Среда, 02.12.2015, 13:12 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация:
3
±
Замечаний:
0% ±
Excel 2007
Числа одинаковые по модулю, в сумме несколько строк не дают одно значение, просто нужно затереть повторы грубо говоря есть 3 числа 3 5 7 и есть 3 числа -3 -5 -7 если есть совпадение, то удалить строки где есть числа 3 5 7 и -3 -5 -7
Числа одинаковые по модулю, в сумме несколько строк не дают одно значение, просто нужно затереть повторы грубо говоря есть 3 числа 3 5 7 и есть 3 числа -3 -5 -7 если есть совпадение, то удалить строки где есть числа 3 5 7 и -3 -5 -7 Gopronotmore
Ответить
Сообщение Числа одинаковые по модулю, в сумме несколько строк не дают одно значение, просто нужно затереть повторы грубо говоря есть 3 числа 3 5 7 и есть 3 числа -3 -5 -7 если есть совпадение, то удалить строки где есть числа 3 5 7 и -3 -5 -7 Автор - Gopronotmore Дата добавления - 02.12.2015 в 13:12
Karataev
Дата: Среда, 02.12.2015, 14:58 |
Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1342
Репутация:
535
±
Замечаний:
0% ±
Excel
Макрос удаляет в том числе и строки, у которых в столбце "A" пустые ячейки.
[vba]
Код
Sub Макрос1() Dim arr(), lr As Long, i As Long, j As Long Application.ScreenUpdating = False lr = Columns("A:B").Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row arr() = Range("A1:A" & lr).Value For i = 1 To UBound(arr, 1) If (IsNumeric(arr(i, 1)) = False) Or (IsEmpty(arr(i, 1)) = True) Then GoTo metka End If For j = i + 1 To UBound(arr, 1) If (IsNumeric(arr(j, 1)) = True) And (IsEmpty(arr(j, 1)) = False) Then If arr(i, 1) + arr(j, 1) = 0 Then arr(i, 1) = Empty arr(j, 1) = Empty Exit For End If End If Next metka: Next Range("A1").Resize(UBound(arr, 1), 1).Value = arr() On Error Resume Next Range("A1").Resize(UBound(arr, 1), 1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete On Error GoTo 0 Application.ScreenUpdating = True MsgBox "Готово!", vbInformation End Sub
[/vba]
Макрос удаляет в том числе и строки, у которых в столбце "A" пустые ячейки.
[vba]
Код
Sub Макрос1() Dim arr(), lr As Long, i As Long, j As Long Application.ScreenUpdating = False lr = Columns("A:B").Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row arr() = Range("A1:A" & lr).Value For i = 1 To UBound(arr, 1) If (IsNumeric(arr(i, 1)) = False) Or (IsEmpty(arr(i, 1)) = True) Then GoTo metka End If For j = i + 1 To UBound(arr, 1) If (IsNumeric(arr(j, 1)) = True) And (IsEmpty(arr(j, 1)) = False) Then If arr(i, 1) + arr(j, 1) = 0 Then arr(i, 1) = Empty arr(j, 1) = Empty Exit For End If End If Next metka: Next Range("A1").Resize(UBound(arr, 1), 1).Value = arr() On Error Resume Next Range("A1").Resize(UBound(arr, 1), 1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete On Error GoTo 0 Application.ScreenUpdating = True MsgBox "Готово!", vbInformation End Sub
[/vba]
Karataev
Сообщение отредактировал Karataev - Среда, 02.12.2015, 15:08
Ответить
Сообщение Макрос удаляет в том числе и строки, у которых в столбце "A" пустые ячейки.
[vba]
Код
Sub Макрос1() Dim arr(), lr As Long, i As Long, j As Long Application.ScreenUpdating = False lr = Columns("A:B").Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row arr() = Range("A1:A" & lr).Value For i = 1 To UBound(arr, 1) If (IsNumeric(arr(i, 1)) = False) Or (IsEmpty(arr(i, 1)) = True) Then GoTo metka End If For j = i + 1 To UBound(arr, 1) If (IsNumeric(arr(j, 1)) = True) And (IsEmpty(arr(j, 1)) = False) Then If arr(i, 1) + arr(j, 1) = 0 Then arr(i, 1) = Empty arr(j, 1) = Empty Exit For End If End If Next metka: Next Range("A1").Resize(UBound(arr, 1), 1).Value = arr() On Error Resume Next Range("A1").Resize(UBound(arr, 1), 1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete On Error GoTo 0 Application.ScreenUpdating = True MsgBox "Готово!", vbInformation End Sub
[/vba]
Автор - Karataev Дата добавления - 02.12.2015 в 14:58
Gopronotmore
Дата: Четверг, 03.12.2015, 11:48 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация:
3
±
Замечаний:
0% ±
Excel 2007
Да вы просто бог! Спасибо огромное все работает
Ответить
Сообщение Да вы просто бог! Спасибо огромное все работает Автор - Gopronotmore Дата добавления - 03.12.2015 в 11:48