Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка пустых строк в большом списке / 7 сообщений из 7, страница 1 из 1
12.10.2006, 04:52:43
    #34048982
USB2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка пустых строк в большом списке
Есть огромный файл, содержащий список из фамилий, причём одна фамилия может повторяться несколько раз.

Например:

Иванов
Иванов
Иванов
Федоров
Петров
Петров
Петров
Петров
Петров
Голубев
Голубев

Вопрос: как после каждой фамилии вставить пустую строчку, а лучше сразу две? Файл огромный, и их очень много, поэтому ручная обработка будет длиться очень долго. Заранее благодарен!
...
Рейтинг: 0 / 0
12.10.2006, 06:56:07
    #34049012
SirFisher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка пустых строк в большом списке
где-то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub t()
    Dim CountRows As String
    
    Range("A1").Select
    CountRows = Application.CountA(ActiveSheet.Range("A:A"))
    i =  0 
    For i = i +  1  To CountRows -  1 
        ActiveCell.Offset( 1 ,  0 ).Rows("1:2").EntireRow.Select
        Selection.Insert Shift:=xlDown
        Selection.End(xlDown).Select
    Next i

    Range("A1").Select
    
End Sub
...
Рейтинг: 0 / 0
12.10.2006, 08:08:58
    #34049063
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка пустых строк в большом списке
Если речь о "после каждой фамилии", а не после каждой строки, то, предположив, что данные нах. в столбце А, в строке 1 есть заголовок столбца и что не получится более 8,170 несмежных строк, я бы использовал что-то в этом духе:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub Test()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
With ActiveSheet
With .Range(.[A1], .[A65536].End(xlUp)).Resize(,  2 )
.Subtotal _
GroupBy:= 1 , _
Function:=xlCount, _
TotalList:=Array( 2 ), _
Replace:=False, _
PageBreaks:=False, _
SummaryBelowData:=False
.SpecialCells(xlCellTypeFormulas).EntireRow.ClearContents
.Cells.EntireRow.ClearOutline
End With
End With
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub

Возможно понадобится доп. чистка кода, т.к. он сделан вчерновую прямо в IE и не испытывался в Excel (но думаю работать должен)


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
12.10.2006, 10:07:05
    #34049282
USB2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка пустых строк в большом списке
SirFisher, спасибо, но этот код вставляет строчки после каждой строки!

KL (XL) - большое спасибо! После каждой фамилии вставляется одна строка. Если надо две, то можно второй раз выполнить макрос.

Но теперь задача усложнилась. После того, как строки вставлены, нужно сделать так, чтобы после каждого блока с одной фамилией подсчитывались итоги в двух столбцах. Всего столбцов 7, итоги нужны в 6-ом и 7-ом, т.е. в столбцах F и G.
Пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Иванов	ххххххххх	хххххххх	хххххх	хх	 1   000 , 00   	 90 
Иванов	ххххххххх	хххххххх	хххххх	хх	 2   000 , 00   	 90 
Иванов	ххххххххх	хххххххх	хххххх	хх	 2   500 , 00   	 126 , 5 
Иванов	ххххххххх	хххххххх	хххххх	хх	 3   300 , 00   	 140 
Иванов	ххххххххх	хххххххх	хххххх	хх	 1   000 , 00   	 150 
Иванов	ххххххххх	хххххххх	хххххх	хх	 1   000 , 00   	 160 
Иванов	ххххххххх	хххххххх	хххххх	хх	 3   000 , 00   	 200 
___________________					 13   800 , 00   	 956 , 50   
						
Федоров	ххххххххх	хххххххх	хххххх	хх	 1   000 , 00   	 29 , 7 
Федоров	ххххххххх	хххххххх	хххххх	хх	 1   000 , 00   	 49 , 5 
Федоров	ххххххххх	хххххххх	хххххх	хх	 3   000 , 00   	 145 , 2 
___________________					 5   000 , 00   	 224 , 40   
						
Голубев	ххххххххх	хххххххх	хххххх	хх	 1   000 , 00   	 30 
Голубев	ххххххххх	хххххххх	хххххх	хх	 1   000 , 00   	 40 
Голубев	ххххххххх	хххххххх	хххххх	хх	 2   000 , 00   	 60 
Голубев	ххххххххх	хххххххх	хххххх	хх	 500 , 00   	 60 
Голубев	ххххххххх	хххххххх	хххххх	хх	 1   500 , 00   	 73 , 92 
___________________					 6   000 , 00   	 263 , 92 

К сожалению, к программированию имею пока небольшое отношение, а работу надо сделать срочно...
...
Рейтинг: 0 / 0
12.10.2006, 10:37:48
    #34049424
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка пустых строк в большом списке
Используйте сводную таблицу.

...
Рейтинг: 0 / 0
12.10.2006, 14:41:50
    #34050725
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка пустых строк в большом списке
Тогда так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub Test()
    With Application
        .DisplayAlerts = False
        .ScreenUpdating = False
    End With
    With ActiveSheet
        With .Range(.[A1], .[A65536].End(xlUp)).Resize(,  10 )
            .Subtotal _
                GroupBy:= 1 , _
                Function:=xlSum, _
                TotalList:=Array( 6 ,  7 ), _
                Replace:=True, _
                PageBreaks:=False, _
                SummaryBelowData:=True
            .SpecialCells(xlCellTypeFormulas).EntireRow.Font.Bold = True
            .Cells.EntireRow.ClearOutline
        End With
    End With
    With Application
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
12.10.2006, 14:44:11
    #34050743
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка пустых строк в большом списке
Это можно сделать и без программирования. Меню Данные-Итоги...

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка пустых строк в большом списке / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]