Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Добавление и удаление строк через ScrollBar - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Добавление и удаление строк через ScrollBar (Макросы/Sub)
Добавление и удаление строк через ScrollBar
Сергей13 Дата: Среда, 27.03.2019, 00:44 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте.
Через ScrollBar (так необходимо) с учетом максимального значения (1) и минимального (0) с выводом показателей значений в лэйбл, пытаюсь реализовать добавление и удаление строк. То есть если 1 строка добавляется если 0 строка удаляется.
[vba]
Код
Private Sub ScrollBar1_Change()
FormInvoice.LabStroki = FormInvoice.ScrollBar1.Value 'Вывод числового значения в лэйбл
    If FormInvoice.LabStroki.Caption = 1 Then
        Rows("11:11").Insert Shift:=xlUp, CopyOrigin:=xlFormatFromLeftOrAbove 'На основании числового значения в лэйбл добавить строку
    Else
        Rows(11).delete 'На основании числового значения в лэйбл удалить строку
    End If
End Sub
[/vba]
Но данный код работает в некой последовательности, то есть, после добавления повторного добавления невозможно только удаление и наоборот, после удаление повторного удаления невозможно только добавление…
Ребята как реализовать через ScrollBar количество добавлений и удалений строк в зависимости от необходимости?
 
Ответить
СообщениеЗдравствуйте.
Через ScrollBar (так необходимо) с учетом максимального значения (1) и минимального (0) с выводом показателей значений в лэйбл, пытаюсь реализовать добавление и удаление строк. То есть если 1 строка добавляется если 0 строка удаляется.
[vba]
Код
Private Sub ScrollBar1_Change()
FormInvoice.LabStroki = FormInvoice.ScrollBar1.Value 'Вывод числового значения в лэйбл
    If FormInvoice.LabStroki.Caption = 1 Then
        Rows("11:11").Insert Shift:=xlUp, CopyOrigin:=xlFormatFromLeftOrAbove 'На основании числового значения в лэйбл добавить строку
    Else
        Rows(11).delete 'На основании числового значения в лэйбл удалить строку
    End If
End Sub
[/vba]
Но данный код работает в некой последовательности, то есть, после добавления повторного добавления невозможно только удаление и наоборот, после удаление повторного удаления невозможно только добавление…
Ребята как реализовать через ScrollBar количество добавлений и удалений строк в зависимости от необходимости?

Автор - Сергей13
Дата добавления - 27.03.2019 в 00:44
sboy Дата: Среда, 27.03.2019, 09:49 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
т.к. файла нет, только общий совет.
Как вариант сделать 3 состояния скролла (добавить строку, удалить, ничего не делать) и после удаления/добавления устанавливать на значение "ничего не делать"


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
т.к. файла нет, только общий совет.
Как вариант сделать 3 состояния скролла (добавить строку, удалить, ничего не делать) и после удаления/добавления устанавливать на значение "ничего не делать"

Автор - sboy
Дата добавления - 27.03.2019 в 09:49
Сергей13 Дата: Среда, 27.03.2019, 18:04 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте всем!
sboy, Приветствую!

sboy, обрисуйте как это должно выглядеть схематично в коде, потому как не знаю как должны выглядеть эти «3 состояния скролла» .

Тестовый пример не проблема, но там нет тех состояний которые Вы советуете.
В тестовом примере в событии Private Sub ScrollBar1_Change установлены переменные вставки и удаления строк которые в сою очередь привязаны к процедурам.
В данном тестовом примере подключена переменная добавление строк.
Поэтому вопрос остается в силе и более проще трактуется мной таким образом – Как на нижнею стрелку ScrollBar1 привязать действие добавление строк, а на верхнею стрелку удаление строк?
К сообщению приложен файл: stroka.xlsm (20.6 Kb)


Сообщение отредактировал Сергей13 - Среда, 27.03.2019, 19:19
 
Ответить
СообщениеЗдравствуйте всем!
sboy, Приветствую!

sboy, обрисуйте как это должно выглядеть схематично в коде, потому как не знаю как должны выглядеть эти «3 состояния скролла» .

Тестовый пример не проблема, но там нет тех состояний которые Вы советуете.
В тестовом примере в событии Private Sub ScrollBar1_Change установлены переменные вставки и удаления строк которые в сою очередь привязаны к процедурам.
В данном тестовом примере подключена переменная добавление строк.
Поэтому вопрос остается в силе и более проще трактуется мной таким образом – Как на нижнею стрелку ScrollBar1 привязать действие добавление строк, а на верхнею стрелку удаление строк?

Автор - Сергей13
Дата добавления - 27.03.2019 в 18:04
RAN Дата: Среда, 27.03.2019, 20:47 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Dim UpDown&
Private Sub ScrollBar1_Change()
    If (ScrollBar1.Value - UpDown) > 0 Then
        Call StrokaInsertNak    'Переменная - Добавление строк
    ElseIf (ScrollBar1.Value - UpDown) < 0 Then
        Call StrokaDeleteNak    'Переменная - Удаление строк
    End If
    UpDown = ScrollBar1.Value
End Sub
Private Sub UserForm_Initialize()
    UpDown = 15000
    ScrollBar1.Value = UpDown
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Среда, 27.03.2019, 20:49
 
Ответить
Сообщение[vba]
Код
Dim UpDown&
Private Sub ScrollBar1_Change()
    If (ScrollBar1.Value - UpDown) > 0 Then
        Call StrokaInsertNak    'Переменная - Добавление строк
    ElseIf (ScrollBar1.Value - UpDown) < 0 Then
        Call StrokaDeleteNak    'Переменная - Удаление строк
    End If
    UpDown = ScrollBar1.Value
End Sub
Private Sub UserForm_Initialize()
    UpDown = 15000
    ScrollBar1.Value = UpDown
End Sub
[/vba]

Автор - RAN
Дата добавления - 27.03.2019 в 20:47
Сергей13 Дата: Среда, 27.03.2019, 22:16 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
RAN, вписал в тестовый файл сразу заработал.
В рабочем никак не хочет, выдает ошибку на строку открытия формы, если открывать форму непосредственно в редакторе, то выходит сообщение.
Цитата
Run-time 380
Could not set the Value property. Invalid property value.
Не удалось установить свойство Value. Недопустимое значение свойства.

Удалил в рабочем файле все что можно и подогнал под тестовый, без изменений...
Может что неправильно установил…
Тестовый пример с шибкой прилагаю.
К сообщению приложен файл: stroka2.xlsm (97.9 Kb)
 
Ответить
СообщениеRAN, вписал в тестовый файл сразу заработал.
В рабочем никак не хочет, выдает ошибку на строку открытия формы, если открывать форму непосредственно в редакторе, то выходит сообщение.
Цитата
Run-time 380
Could not set the Value property. Invalid property value.
Не удалось установить свойство Value. Недопустимое значение свойства.

Удалил в рабочем файле все что можно и подогнал под тестовый, без изменений...
Может что неправильно установил…
Тестовый пример с шибкой прилагаю.

Автор - Сергей13
Дата добавления - 27.03.2019 в 22:16
RAN Дата: Среда, 27.03.2019, 22:25 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Левая рука не знает, что делает правая?
Кто max 32000 делал?
Этонияэтооносамо?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЛевая рука не знает, что делает правая?
Кто max 32000 делал?
Этонияэтооносамо?

Автор - RAN
Дата добавления - 27.03.2019 в 22:25
Сергей13 Дата: Среда, 27.03.2019, 22:32 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
RAN, Поторопился вопрошать, сам понял, разобрав сообщение «Недопустимое значение свойства»
Путем моих ранее экспериментов в Мах было установлено 1 а у Вас при загрузке 15000
не знаю в чем тут смысл таких огромных значений, но заниженное свойство Мах по отношению к загружаемому и вызывает ошибку.
Свершилось, Благодарю Вас!!!


Сообщение отредактировал Сергей13 - Среда, 27.03.2019, 22:34
 
Ответить
СообщениеRAN, Поторопился вопрошать, сам понял, разобрав сообщение «Недопустимое значение свойства»
Путем моих ранее экспериментов в Мах было установлено 1 а у Вас при загрузке 15000
не знаю в чем тут смысл таких огромных значений, но заниженное свойство Мах по отношению к загружаемому и вызывает ошибку.
Свершилось, Благодарю Вас!!!

Автор - Сергей13
Дата добавления - 27.03.2019 в 22:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Добавление и удаление строк через ScrollBar (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!