|
|
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
Всем драсте!!!! Ситуация такая: на листе 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 17:37:12 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 18:22:01 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
В примере число строк в А1, а диапазон от 11 до 260 строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 18:22:51 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
или так Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 18:29:27 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
пасибо.....все работет.....правда, есть одно не сходство с поставленной задачей, а именно: с листа 1 из выпадающего списка проводиться выбор, который и отображаеться в ячейке А12. Что я имел ввиду, что люди рабоатют на листе 1, вносят данные и прочее, а лист 2 это что-то типа отчета, в котором ничего не делаеться. То есть сделал выбор из выпадающего списка на листе 1, вывод отобразился на листе 2 в ячеке А12 и на этом же листе было произведенно скрытие строк ,указанное в ячейке А12. Вот что. Скорее всего надо что бы была ссылка на лист 1 ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 18:34:26 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 18:43:03 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
Rows(11 ---- это значит начинать с 11 строчки?? Рабоатет. но чуть в обратном порядке указав все это на листе 1 на листе 2 скрываюсять все строки ниже 11. Пытался вставить heets("Лист2").Rows("11:260") - выдает ошибку..... надо что бы не все строки скрывало, а именно указанный диапазон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 18:57:17 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
все вроде работатет эт я перепутал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 19:03:30 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
Драсте снова!!! Все-таки я был чуть прав не хочет последний скрипт скрывать нужно ко-во строк, он скрывает их всех сразу, оставляет только указаное к-во. Сколько я не пытался и не мучался, но ВБА мне пишет что такой-то формат такого-то тирпа данных не поддерживает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 10:08:54 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
А не Вы знаете я просто оказывается морочил голову....забыл вписать константу до какйо сркывать.все ок...пасибо еещ раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 10:17:59 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
ничё не понял :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 10:47:57 |
|
||
|
Скрыване строк
|
|||
|---|---|---|---|
|
#18+
Внес указаный 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 ------------------------------------------------------------------ Хелпя как говориться!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2007, 20:48:12 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34599864&tid=2182666]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 332ms |

| 0 / 0 |
