Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel_Vb_Hide Row / 11 сообщений из 11, страница 1 из 1
13.10.2004, 18:37
    #32737077
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
Имеется таблица , кол. строк меняется, и всегда есть 1-2 пустые строки с нулями. Какой код надо написать , чтобы наити эту пустую строку и скрыть ее!
...
Рейтинг: 0 / 0
13.10.2004, 19:39
    #32737168
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
vallotвсегда есть 1-2 пустые строки с нулямиТак пустые или с нулями?
...
Рейтинг: 0 / 0
14.10.2004, 08:43
    #32737440
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
Часть ячеек в строке пустые а часть с нулями!
Это таблица Pivot , которая так отображает исходную таблицу, если в исходной SELECT 50 строк, но заполнено бывает то 10, то 25 и т.д. И таблица Pivot в этом случае показывает пустую строку (а где колонки с итогами там нули). И я хочу скрыть эту строку,чтобы не шла в печать
...
Рейтинг: 0 / 0
14.10.2004, 10:24
    #32737657
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
Так, м.б., легче бороться с причиной, а не следствием?
Удалить пустые строки из сырья для сводной таблицы проще!
...
Рейтинг: 0 / 0
17.10.2004, 08:49
    #32741673
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
Ну а какой код написать в этой борьбе???
...
Рейтинг: 0 / 0
18.10.2004, 16:13
    #32742968
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
1. Выделяешь UsedRange на требуемом листе.
2. Сортируешь записи по убыванию ключевого поля; пустые строки соберутся в конце диапазона.
3. Образуешь диапазон, включающий строки от шапки таблицы до последней непустой записи.
4. По этому диапазону строишь сводную таблицу. Восстанавливать для неё исходный порядок записей нет нужды.
...
Рейтинг: 0 / 0
19.10.2004, 00:49
    #32743542
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
А я вот так сделал, вроде пашет, может кто проще может?
,------------------------------
Dim i As Integer
Dim j As Integer

For i = 10 To 50
For j = 8 To 12

If Sheet4.Cells(i, 8) = 0 _
And Sheet4.Cells(i, 9) = 0 _
And Sheet4.Cells(i, 10) = 0 _
And Sheet4.Cells(i, 11) = 0 _
And Sheet4.Cells(i, 12) = 0 Then

Sheet4.Cells(i, j).EntireRow.Hidden = True

ElseIf Sheet4.Cells(i, j) = "" Then

Sheet4.Cells(i, j).EntireRow.Hidden = False
End If
Next j
Next i
---------------------------------------------
...
Рейтинг: 0 / 0
19.10.2004, 10:35
    #32743875
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
Это - частное, локальное решение.
Предложенное выше - общее решение.
И по объёму рукописного кода оно сопоставимо с частным.
Однако, повторюсь, в случае построения сводных таблиц необходимо устранять причину, а не бороться с её следствиями.
...
Рейтинг: 0 / 0
19.10.2004, 10:52
    #32743927
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
А это мой окончательный вариант!
,------------------------------
Dim i As Integer

For i = 10 To 50

If Sheet4.Cells(i, 8) = 0 _
And Sheet4.Cells(i, 9) = 0 _
And Sheet4.Cells(i, 10) = 0 _
And Sheet4.Cells(i, 11) = 0 _
And Sheet4.Cells(i, 12) = 0 Then

Sheet4.Cells(i, 1).EntireRow.Hidden = True

End If
Next i
...
Рейтинг: 0 / 0
19.10.2004, 12:17
    #32744199
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
немного эстетики и гибкости
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Sub MyRows()
Dim StartRow As Long
Dim EndRow As Long
Dim iRange  As Range
Dim CheckRange As Range
    StartRow =  10 
    EndRow =  50 
    For Each iRange In Sheet4.Range("A" & StartRow & ":A" & EndRow)
        Set CheckRange = Sheet4.Range("H" & iRange.Row & ":L" & iRange.Row)
        If WorksheetFunction.Max(CheckRange) =  0  And WorksheetFunction.Min(CheckRange) =  0  Then _
                iRange.EntireRow.Hidden = True
    Next iRange

End Sub
Этот пример поможет если надо будет проверять столбцов 20.
...
Рейтинг: 0 / 0
19.10.2004, 14:00
    #32744454
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel_Vb_Hide Row
Да...классная вещь, спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel_Vb_Hide Row / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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