Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] как в экселе автоматически удалить строки (http://forum.oszone.net/showthread.php?t=286911)

vanoman 23-08-2014 13:07 2393056

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

Iska 23-08-2014 17:03 2393104

Есть ;). Надо только её написать:
Код:

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

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

vanoman 23-08-2014 18:05 2393128

Iska, работает))) респект

Iska 23-08-2014 18:19 2393133

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

vanoman 26-08-2014 17:12 2394384

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

Iska 27-08-2014 00:45 2394618

«Удалить» — понимать как «очистить»? «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 27-08-2014 14:06 2394835

Цитата:

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

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


Время: 20:54.

Время: 20:54.
© OSzone.net 2001-