Здравствуйте. Через 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
Добрый день. т.к. файла нет, только общий совет. Как вариант сделать 3 состояния скролла (добавить строку, удалить, ничего не делать) и после удаления/добавления устанавливать на значение "ничего не делать"
Добрый день. т.к. файла нет, только общий совет. Как вариант сделать 3 состояния скролла (добавить строку, удалить, ничего не делать) и после удаления/добавления устанавливать на значение "ничего не делать"sboy
sboy, обрисуйте как это должно выглядеть схематично в коде, потому как не знаю как должны выглядеть эти «3 состояния скролла» .
Тестовый пример не проблема, но там нет тех состояний которые Вы советуете. В тестовом примере в событии Private Sub ScrollBar1_Change установлены переменные вставки и удаления строк которые в сою очередь привязаны к процедурам. В данном тестовом примере подключена переменная добавление строк. Поэтому вопрос остается в силе и более проще трактуется мной таким образом – Как на нижнею стрелку ScrollBar1 привязать действие добавление строк, а на верхнею стрелку удаление строк?
Здравствуйте всем! sboy, Приветствую!
sboy, обрисуйте как это должно выглядеть схематично в коде, потому как не знаю как должны выглядеть эти «3 состояния скролла» .
Тестовый пример не проблема, но там нет тех состояний которые Вы советуете. В тестовом примере в событии Private Sub ScrollBar1_Change установлены переменные вставки и удаления строк которые в сою очередь привязаны к процедурам. В данном тестовом примере подключена переменная добавление строк. Поэтому вопрос остается в силе и более проще трактуется мной таким образом – Как на нижнею стрелку ScrollBar1 привязать действие добавление строк, а на верхнею стрелку удаление строк?Сергей13
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]
[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
RAN, вписал в тестовый файл сразу заработал. В рабочем никак не хочет, выдает ошибку на строку открытия формы, если открывать форму непосредственно в редакторе, то выходит сообщение.
Цитата
Run-time 380 Could not set the Value property. Invalid property value. Не удалось установить свойство Value. Недопустимое значение свойства.
Удалил в рабочем файле все что можно и подогнал под тестовый, без изменений... Может что неправильно установил… Тестовый пример с шибкой прилагаю.
RAN, вписал в тестовый файл сразу заработал. В рабочем никак не хочет, выдает ошибку на строку открытия формы, если открывать форму непосредственно в редакторе, то выходит сообщение.
Цитата
Run-time 380 Could not set the Value property. Invalid property value. Не удалось установить свойство Value. Недопустимое значение свойства.
Удалил в рабочем файле все что можно и подогнал под тестовый, без изменений... Может что неправильно установил… Тестовый пример с шибкой прилагаю.Сергей13
RAN, Поторопился вопрошать, сам понял, разобрав сообщение «Недопустимое значение свойства» Путем моих ранее экспериментов в Мах было установлено 1 а у Вас при загрузке 15000 не знаю в чем тут смысл таких огромных значений, но заниженное свойство Мах по отношению к загружаемому и вызывает ошибку. Свершилось, Благодарю Вас!!!
RAN, Поторопился вопрошать, сам понял, разобрав сообщение «Недопустимое значение свойства» Путем моих ранее экспериментов в Мах было установлено 1 а у Вас при загрузке 15000 не знаю в чем тут смысл таких огромных значений, но заниженное свойство Мах по отношению к загружаемому и вызывает ошибку. Свершилось, Благодарю Вас!!!Сергей13
Сообщение отредактировал Сергей13 - Среда, 27.03.2019, 22:34