2013 - [решено] как в экселе автоматически удалить строки

Ответить
Аватара пользователя
vanoman

2013 - [решено] как в экселе автоматически удалить строки

Сообщение vanoman »

Подскажите пож-та. Мне надо удалить строки с номера 65000 по 400 000 . Мышкой все выделять долго. может есть функция, которая заданный интервал строк удаляет?
Аватара пользователя
vanoman

Re: 2013 - [решено] как в экселе автоматически удалить строки

Сообщение vanoman »

Есть Изображение. Надо только её написать:



Код:

Код: Выделить всё

Sub DeleteRows()
    ThisWorkbook.ActiveSheet.Rows.Item("65000:400000").Delete
End Sub

вставить в модуль «ThisWorkBook» («ЭтаКнига») искомой рабочей книги, сделать активным потребный рабочий лист и исполнить процедуру.
Аватара пользователя
vanoman

Re: 2013 - [решено] как в экселе автоматически удалить строки

Сообщение vanoman »

vanoman, поскольку у нас всего одна строчка («ThisWorkbook.ActiveSheet.Rows.Item("65000:400000").Delete»), в принципе, можно попробовать использовать окно «Immediate» — Alt-F11, Ctrl-G (ежели таковое осталось в Excel 2013), разумеется, заменив «ThisWorkbook» на «ActiveWorkbook» и сделав предварительно активными потребные рабочую книгу и лист.
Аватара пользователя
vanoman

Re: 2013 - [решено] как в экселе автоматически удалить строки

Сообщение vanoman »

Iska, а может ещё чуть - чуть поможете

взять этот файл

можно чтобы с 11-50 ячейку , там 73 столбца, надо из каждого столбца удалить 20 чисел, но не сплошняком , например с 11-31 ячейку. а рандомно т.е. то 11 ячейка, то 20 и так далее.
Аватара пользователя
Iska

Re: 2013 - [решено] как в экселе автоматически удалить строки

Сообщение Iska »

«Удалить» — понимать как «очистить»? «20» — стабильное значение или произвольное? Диапазон «A11:BU50» — стабильный диапазон или произвольно указан? Все ячейки диапазона заполнены или могут быть и пустые?



Например, так:


читать дальше »




Код:

Код: Выделить всё

Option Explicit
Sub ClearRandomCellsInSelectionByColumns()
    Dim intCount As Integer
    Dim objColumn As Range
    Dim objRange As Range
    Dim i As Integer
    Dim objArrayList As Object
    intCount = 20
    Randomize Timer
    Set objArrayList = CreateObject("System.Collections.ArrayList")
    For Each objColumn In Selection.Columns
        For Each objRange In objColumn.Rows
            objArrayList.Add objRange
        Next
        For i = 1 To objColumn.Rows.Count - intCount
            objArrayList.RemoveAt Int(objArrayList.Count * Rnd())
        Next
        For Each objRange In objArrayList
            objRange.Clear
        Next
        objArrayList.Clear
    Next
    Set objArrayList = Nothing
End Sub
Аватара пользователя
vanoman

Re: 2013 - [решено] как в экселе автоматически удалить строки

Сообщение vanoman »

Цитата Iska:



«Удалить» — понимать как «очистить»? «20» — стабильное значение или произвольное? Диапазон «A11:BU50» — стабильный диапазон или произвольно указан? Все ячейки диапазона заполнены или могут быть и пустые?
2013 - [решено] как в экселе автоматически удалить строки




да, очистить. 20 это стабильное значение. указан произвольно) там все заполнены.

Макрос работает,как часыИзображение
Ответить

Вернуться в «Microsoft Office (Word, Excel, Outlook и т.д.)»