powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите начинающему сделать формулу ...
25 сообщений из 143, страница 2 из 6
Помогите начинающему сделать формулу ...
    #36404093
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот сделал, правда я поставил ToggleButton , при нажатии табличка сжимается, а при отжатии - расширяется:

Private Sub ToggleButton1_Click()

If ToggleButton1.Value Then
For x = 9 To 33
If Cells(x, 5).Value = 0 Then Rows(x).EntireRow.Hidden = True
Next
Else
For x = 9 To 33
Rows(x).EntireRow.Hidden = False
Next
End If

End Sub

Только вот в чем беда - табличка хорошо сжимается, а после обратного расширения кнопочки (которые были сжаты) исчезают ...
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36404112
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, они не совсем исчезли, в стопочку под оставшиеся сложились. Надо что-то делать...
На Вкладке "Свойства" был режим "Перемещать, но не изменять размеры" - попробую другие режимы.
А может их можно прятать через "hidden"? А потом опять показывать? Может на месте останутся?
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36404329
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно, с этим разберусь потихоньку.
Вот, наверное, самый сложный кусок в моей табличке. На Листе1 есть табличка как на рисунке. На Листе2 надо сделать ее обработку. Нужно получить результат в виде:

9
14
5
9

То есть формула в клетке должна быть такой:

Сканируем диапазон А1:А8 на Листе1 и ищем слово "Коза"
Где попадается слово "Коза" Берем число из клетки справа и суммируем их

В следующей клетке берем слово "Заяц" и делаем то же самое
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36404351
m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m
Гость
qwrqwr_:)
а вчера Deggasad не вам отвечал? :)
Это был другой m , нас много
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36404402
йцкйцк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирВ
Вот, наверное, самый сложный кусок в моей табличке. Данные -> Сводная таблица
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36404457
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть формула в клетке должна быть такой:
Сканируем диапазон А1:А8 на Листе1 и ищем слово "Коза"
Где попадается слово "Коза" Берем число из клетки справа и суммируем их
В следующей клетке берем слово "Заяц" и делаем то же самое[/quot]
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36404920
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо!
Я немного адаптировал эту формулу, и все прекрасно работает!
Вот, если можно, просветите еще немного:
авторPrivate Sub ToggleButton1_Click()

If ToggleButton1.Value Then
SpinButton6.Hidden = True
For x = 9 To 42
If Cells(x, 5).Value = 0 Then Rows(x).EntireRow.Hidden = True
Next
Else
For x = 9 To 42
Rows(x).EntireRow.Hidden = False
Next
End If

End Sub

1. Вставил выделенную строку - получается ошибка. Хотел сделать, чтобы при нажатии ToggleButton1 пряталась кнопка SpinButton6. Можно ли вообще такое делать?
2. В данной программе при нажатии на кнопку ToggleButton1 строки 9-42 проверяем на условие и прячем. Для возврата их в исходное состояние циклом по очереди показываем. Строк предполагается значительно увеличить, а цикл работает довольно медленно. Нельзя ли эти строки показать сразу всем массивом?

Заранее спасибо.
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36404995
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121Повесь на кнопку ПЕЧАТАТЬ, добавь код собственно печати, после этого процесса можно всё снова показать, типа
Код: plaintext
  [e9:e88].EntireRow.Hidden = False

Не заметил?
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36405010
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
Sub tt()
SpinButton1.Visible = False
SpinButton1.Visible = True
End Sub
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36405287
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотел спрятать 80 кнопок циклом.
авторFor x = 1 To 80
SpinButton(x).Visible = False
NextКак бы это сделать?
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36405700
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, чего не понял – тогда извинения.
Но если прячете только для печати – в свойствах фигур есть галка «выводить на печать»…
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36405739
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, там мысль спрятать перед тем, как скрывать строки - вдруг они потом на своих местах появятся, когда строки опять откроют.
Мне кажется, можно потом порядок навести типа так:
Код: plaintext
1.
2.
CommandButton1.Left = ActiveCell.Left + ActiveCell.Width
CommandButton1.Top = ActiveCell.Top
Но конечно морока код писать при большом количестве...
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36405773
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, приведу всю цитату из запасников, может так можно сделать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Serzh S
Предоложу свой вариант по проблеме кнопки, может сделать так:
Их не видно а встаем на определенную ячеку и она появляется (тогда надо задать одну кнопку, и просто скрывать ее, а потом отображать на новом месте)
Вот както так:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
result = False
s = ActiveCell.Address(RowAbsolute:=False, columnabsolute:=False, ReferenceStyle:=xlA1)
result = (s Like "H*") Or (s Like "J*")
CommandButton1.Left = ActiveCell.Left + ActiveCell.Width
CommandButton1.Top = ActiveCell.Top
If result = True Then CommandButton1.Visible = True Else CommandButton1.Visible = False
End Sub

Кнопка (предварительно ее надо закинуть из конструктора) будет отображаться если встаем на столбец (H,J и [A-Z]H,[A-Z]J ну и т.п. т.е. если в названии столбца присутствует буква J или H)
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36406730
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Hugo121 !
Вы абсолютно правы насчет моего желания прятать кнопки перед "сжатием" таблицы. Конечно, это делается не только для печати, ибо "галка" «выводить на печать», конечно стоит.
Есть мысль добиться этим действом две цели:

1. Несмотря на мощный 2-х процессорный комп, табличка сжимается очень медленно, причем скорость по мере приближения к концу падает все больше и больше. Сейчас в таблице всего 50 строк с данными (дальше будет больше), а сжимается она 40 секунд! То есть почти секунда на одну строку! Похоже большая часть времени идет именно на перерисовку кнопок - это хорошо видно визуально: исчезает строка, и одновременно пропадают все кнопки, потом все кнопки перерисовываются заново, потом исчезает следующая строка и т.д. Логично предположить, что если перед "сжатием" кнопки скрыть, то процесс пойдет значительно быстрее. Я попробовал в код кнопки, которая убирает пустые строки добавить вот это, хотел циклом скрыть все 50 кнопок, но имеющиеся начальные знания не позволили написать работающий вариант, буду признателен, если кто меня поправит. Можно, конечно, написать 50 строк для скрытия каждой кнопки отдельно, но как-то унизительно ...
автор For x = 1 To 50
SpinButton(x).Visible = False
Nex

2. После "сжатия" таблицы и последующего "расширения" кнопки часто "расползаются", то есть прячутся в стопочку одна по другой, уже задолбался полсотни кнопок растаскивать на свои места. Есть надежда, что если их сначала "спрятать", потом "сжать"-"восстановить" таблицу и их заново "показать", то они останутся на своих местах.

3. Предложенный Вами код, когда кнопка прячется, а если "встать" на определенный столбик - показывается, я попробовал. Большое спасибо, действительно работает. Пока только не знаю, смогу ли я это использовать. То есть изначально кнопок видно не будет, а надо человеку пояснить, что "встань вот на этот столбик" - они и появятся. Ну тут надо подумать. В любом случае хотелось поправить вышеприведенный код, чтоб его можно было вставить в мою таблицу, либо в Ваш пример, ибо кнопок надо сразу "прятать-показывать" полсотни...
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36406774
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчёт перерисовки - обычно кодом вначале отключают обновление таблицы, в конце процесса показывают. Да и пересчёт тоже обычно на время работы кода отключают, если алгоритм позволяет.
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
      With Application
        .ScreenUpdating = False
        .EnableEvents = False
        ac = .Calculation: .Calculation = xlCalculationManual
      End With

'тут весь код

      With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = ac
      End With

...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36406777
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчёт появления кнопок - там плюс ещё в том, что в коде да и вообще всего одну кнопку прописывать надо, это проще, тем более если будет меняться количество строк.
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36406911
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Попробовал отключить обновление и пересчёт таблицы по Вашему совету - просто волшебно! Работает на 5+ ! Табличка сворачивается за долю секунды! Огромное спасибо!

2. Насчет плавающей кнопки - тоже интересная мысль. Я сначала не понял, что она там будет всего одна. На досуге поиграюсь - может возьму на вооружение.

3. По поводу "расползания" кнопок. Эксперимент показал следующее: Если манипулировать кнопками: менять содержимое строк, сжимать-расжимать таблицу, то они прочно сидят на своих местах. А вот если "сжать" таблицу, а потом ее вывести на печать и "расжать", то на тех строках, которые были скрыты кнопок уже не будет - они будут сложены "стопочкой" по теми, которые были видны. Вобщем-то работать можно. Многократное изменение в процессе подбора комплекта она выдерживает, а после вывода на печать ее можно и перегрузить. Но если у кого-нибудь появятся мысли, как ее вылечить окончательно - буду весьма признателен.

4. Работа подходит к концу, осталось несколько мелких доработок. Надеюсь, я не буду очень надоедлив, если задам еще пару-тройку вопросов.

З.Ы. Если кому интересно - табличка делается для сайта www.colormusic.ru - оформление заказа. По окончании работы упрощенный вариант (без баз о наличии товара) будет выложен на сайте для потенциальных покупателей, чтобы облегчить подсчет нужной комплектации при заказе.
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36408210
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите плиз, как очистить диапазон ячеек?
Пытался нарыть инфу в инете. Вот тут написано: "Range("C1:C5").Clear - очистить диапазон ячеек C1:C5;" . Попробовал - ни фига не работает.
Вот код кнопки для очистки:
Код: plaintext
1.
2.
Sub Сброс_Доставка_Щелчок()
Range("b62:h66").Clear
End Sub
Пробовал скобки на квадратные менять, кавычки убирать - не помогает. Часа 2 в инете просидел - не нашел варианта...
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36408245
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё работает, только на активном листе.
Так тоже работает:
Код: plaintext
1.
2.
3.
Private Sub CommandButton1_Click()
'Range("b62:h66").Clear
[b62:h66].Clear
End Sub
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36408282
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, за 2 часа можно было и свои действия по очистке диапазона в макрос записать, его и использовать - всё равно ни циклов, ни переменных тут нет.
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36408297
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чета не работает... Вот гляньте:
Лист "Заказ", кнопка с крестиком внизу листа, справа от слова "Доставка".
Имя кнопки: "Сброс_Доставка"
Код:
Код: plaintext
1.
2.
3.
Sub Сброс_Доставка_Щелчок()
'Range("b62:h66").Clear
[b62:h66].Clear
End Sub
Должна стирать крестики на желтом поле.
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36408844
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А у меня работает :) Правда, т.к. 2000 (xlsm через конвертер открыл), пришлось задать кнопке макрос заново. Но сам код не менял.
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36408851
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, косяк у тебя похоже с назначенным макросом - сейчас посмотрел, что в оригинале срабатывает - на этой кнопке у тебя Sub Сброс_Штук_Щелчок(), а надо Sub Сброс_Доставка_Щелчок()
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36409280
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, действительно... А я искал совсем не там...
Подправил макрос - и заработало - но странно как-то ...
Стирается не только содержимое, но и окружающие рамки, а также фон - а мне надо только содержимое стереть ...
Как бы это исправить?
...
Рейтинг: 0 / 0
Помогите начинающему сделать формулу ...
    #36409351
ВладимирВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во! Сам догадался...
Исправил на [b62:h66] = "" - теперь только содержимое стирает.
Сейчас бьюсь вот над какой проблемой:
Если включить CheckBox (он там один у меня), а потом нажать кнопку Сброс_Штук, то она должна этот CheckBox сбрасывать. В ее коде это прописано:
Код: plaintext
1.
2.
3.
4.
Sub Сброс_Штук_Щелчок()
CheckBox_Дост_Value = False
[e9:e54] =  0 
[g58] =  0 
End Sub
Тут точно косяка с назначением макросов нету, ибо клетки e9:e54 и g58 сбрасываются.
...
Рейтинг: 0 / 0
25 сообщений из 143, страница 2 из 6
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите начинающему сделать формулу ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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