Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Скрыване строк / 13 сообщений из 13, страница 1 из 1
16.06.2007, 17:37:12
    #34599742
Хелпя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
Всем драсте!!!!

Ситуация такая: на листе 2 есть ячейка А12 в которую из листа 1 подтягиваеться цифровое значение. На листе 2 есть таблица с таким диапазоном А12:М260, в которой вычисляютсья данные. Необходимо при изменении значения ячейки А12 согласно указаной в ней цифре, например 10, показывать пtревые 10-ть строк таблицa (А10:М10), а все остальные скрыть. Т.е. что бы на листе был показан только диапазон таблицы А10:М10.
И если в ячейке А2 будет число 200, то дипазаон видимой таблицы должен быть А10:М200. И так далее.

Вот начал писать, а он чего-то не хочет, раз делает, но все время, а раз вообще не делат.......людии ХЕЛП!!!!!


Dim ST, NumRows As Integer
ST = 15
NumRows = Range("G11").Value

Range(Cells(ST + 1, 2), Cells(ST + NumRows, 2)).Rows.Hidden = False
If NumRows < 240 Then
Range(Cells(ST + NumRows + 1, 2), Cells(ST + 240, 2)).Rows.Hidden = True
End If


For i = 0 To NumRows - 2
If Rows(SRow + i).Hidden = False Then
Range(Cells(SRow + i, 2), Cells(SRow + i, 2)).Value = DateAdd("m", i + 1, a)
If DatePart("w", Range(Cells(SRow + i, 2), Cells(SRow + i, 2)).Value) = 1 Then Range(Cells(SRow + i, 2), Cells(SRow + i, 2)).Value = Range(Cells(SRow + i, 2), Cells(SRow + i, 2)).Value + 1
If DatePart("w", Range(Cells(SRow + i, 2), Cells(SRow + i, 2)).Value) = 7 Then Range(Cells(SRow + i, 2), Cells(SRow + i, 2)).Value = Range(Cells(SRow + i, 2), Cells(SRow + i, 2)).Value + 2
End If
Next i
...
Рейтинг: 0 / 0
16.06.2007, 18:22:01
    #34599797
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
Код: plaintext
1.
2.
3.
4.
5.
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("A1") Then
     Rows("11:260").Hidden = False
     Rows( 11  + Range("A1").Value & ":" &  260 ).Hidden = True
    End If
End Sub
...
Рейтинг: 0 / 0
16.06.2007, 18:22:51
    #34599798
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
В примере число строк в А1, а диапазон от 11 до 260 строки
...
Рейтинг: 0 / 0
16.06.2007, 18:29:27
    #34599805
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
или так

Код: plaintext
1.
2.
3.
4.
5.
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("A1") Then
     Rows.Hidden = False
     Rows( 11  + Range("A1").Value & ":" & Rows.Count).Hidden = True
    End If
End Sub
...
Рейтинг: 0 / 0
16.06.2007, 18:34:26
    #34599816
Хелпя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
пасибо.....все работет.....правда, есть одно не сходство с поставленной задачей, а именно:

с листа 1 из выпадающего списка проводиться выбор, который и отображаеться в ячейке А12. Что я имел ввиду, что люди рабоатют на листе 1, вносят данные и прочее, а лист 2 это что-то типа отчета, в котором ничего не делаеться. То есть сделал выбор из выпадающего списка на листе 1, вывод отобразился на листе 2 в ячеке А12 и на этом же листе было произведенно скрытие строк ,указанное в ячейке А12. Вот что. Скорее всего надо что бы была ссылка на лист 1 ???
...
Рейтинг: 0 / 0
16.06.2007, 18:43:03
    #34599827
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
Sheets("Лист2").Rows.Hidden = False
Sheets("Лист2").Rows(11 + Range("A1").Value & ":" & Rows.Count).Hidden = True
End If
End Sub

Код вставить на лист1 и ячейка A1 принадлежит лист1
...
Рейтинг: 0 / 0
16.06.2007, 18:57:17
    #34599849
Хелпя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
Rows(11 ---- это значит начинать с 11 строчки??

Рабоатет. но чуть в обратном порядке указав все это на листе 1 на листе 2 скрываюсять все строки ниже 11. Пытался вставить heets("Лист2").Rows("11:260") - выдает ошибку..... надо что бы не все строки скрывало, а именно указанный диапазон
...
Рейтинг: 0 / 0
16.06.2007, 19:03:30
    #34599864
Хелпя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
все вроде работатет эт я перепутал
...
Рейтинг: 0 / 0
18.06.2007, 10:08:54
    #34600950
Хелпя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
Драсте снова!!!

Все-таки я был чуть прав не хочет последний скрипт скрывать нужно ко-во строк, он скрывает их всех сразу, оставляет только указаное к-во. Сколько я не пытался и не мучался, но ВБА мне пишет что такой-то формат такого-то тирпа данных не поддерживает
...
Рейтинг: 0 / 0
18.06.2007, 10:17:59
    #34600989
Хелпя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
А не Вы знаете я просто оказывается морочил голову....забыл вписать константу до какйо сркывать.все ок...пасибо еещ раз
...
Рейтинг: 0 / 0
18.06.2007, 10:47:57
    #34601094
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
ничё не понял :(
...
Рейтинг: 0 / 0
03.07.2007, 20:48:12
    #34636331
Хелпя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
Внес указаный Deggasad скрипт в мои существующие скрипты и вот выдает такую ошибку: Run Time error 13: Type mistache. Это происходит когда я нажимаю сначала на кнопку Redakt_Click провожу необходимые редактирование в защещенной ячейке, а после того как мне надо удалить все с нее нажимаю на Del_Click и вот тогда выдает ошибку. А скрипт вот такой:

для кнопок
-----------------------------------------------------------------------
Private Sub Redakt_Click()
Range("M16:M255").Interior.ColorIndex = xlNone
Range("M16:M255").Locked = False
Me.Redakt.Visible = False
Me.Del.Visible = True
End Sub

Private Sub Del_Click()
Range("M16:M255").ClearContents
With Range("M16:M255").Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Range("M16:M255").Locked = True
Me.Del.Visible = False
Me.Redakt.Visible = True
End Sub
-----------------------------------------------------------------------

и вообщем скрпит именно куда кидает на ошибку
-----------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "G11" Then
Range("G11").Select
ChangeTableConsAnalize
End If
If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "M3" Then
Range("M3").Select
ChangeTableConsAnalize
End If

Dim d, g, m, a As Date
Dim h As Byte

d = Range("I2")
g = Year(d)
m = Month(d)
h = Range("M5")
a = DateSerial(g, m, h)
If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "M5" Then
Range("M7").Select
Range("M7") = DateSerial(g, m + 1, h)
If DatePart("w", Range("M7").Value) = 1 Then Range("M7").Value = Range("M7").Value + 1
If DatePart("w", Range("M7").Value) = 7 Then Range("M7").Value = Range("M7").Value + 2
End If

If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "M7" Then
Range("M7").Select
ChangeTableConsAnalize
End If
If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = Range("M11").Address(RowAbsolute:=False, ColumnAbsolute:=False) Then
If Range("M11").Value = 0 Then
Columns("H:H").Hidden = True
Range("M11").Select
Else
Columns("H:H").Hidden = False
Range("M11").Select
End If
End If
If Target = Range("G11") Then

ИМЕННО В СЛЕДУЮЩИХ СТРОКАХ ВЫДАЕТ ОШИБКУ, КОГДА ИХ НЕ БЫЛО (СТРОК), ТО ОШИБКИ НЕ БЫЛО КНОПКА НАЖИМАЛАСЬ СВОБОДНО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-
Sheets("2").Rows("21:260").Hidden = False
Sheets("2").Rows(21 + Range("G11").Value & ":" & 260).Hidden = True
End If
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-
End Sub
------------------------------------------------------------------


Хелпя как говориться!!!!!!!
...
Рейтинг: 0 / 0
04.07.2007, 10:17:55
    #34636907
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыване строк
Так с ходу сказать нечего!
Файл выкладывай, знаешь как нудно и долго копаться в коде!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Скрыване строк / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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