Доброго времени суток. Предположим есть форма ввода данных для листа "БД" в приложенном файле для которой сделана форма ввода данных на листе "Таблица", т.к. Лист "БД" будет защищен и скрыт, возникла необходимость редактировать данные и удалять их при помощи вызова формы "ввода", но без отображения Листа "БД" (Все данные с листа будут при помощи формул перетаскиваться в Лист "Таблица"). То есть если в форме "ввода" ввести выбрать допустим Склад №3 и Молоко и Ввести количество 500., затем при необходимости удалить или редактировать число (такой же комбинаций) также выбрать Склад №3 и Молоко и корректировать кол-во) . Заранее спасибо.
Ts.Soft, проблема в том что не знаю как редактировать занесенные ранее данные без отражения Листа "БД" (только по форме ввода). То есть оживить Кнопки "Редактировать" и Удалить (удалить нужно будет целую строку в "БД", а если это трудно удалить целую строку то хотя б значение чтобы формулы не считали ее) Вы случайно не знаете?! Спасибо за участие.
Ts.Soft, я видимо не так сформулировал нужду, нужен "макрос кода", который будет возвращать количество из Листа "БД" (получается из базы данных) в диалоговое окно для дальнейшего удаления или корректировки. Спасибо = )
Странно, что операционист-корректировщик должен работать, не видя объекта для корректировки! Чем вызвана такая Супер-Секретность?! Даже в Банках операционисты с документами богатых клиентов (в БД) работают в режиме реального времени. Какой-то очень уж "геморройный" у Вас алгоритм!
Ov198, Мотя права в той части, что нелепо редактировать то, чего не видно - количество. См. пример, в котором количество найденной позиции отображается. Проверку на ввод в ТекстБокс НЕ числа не делал.
Юрий М, спасибо огромное все отлично работает. Единственное вопрос возникает с возможностью редактирования (то есть замены значения на новое по тем же критериям не удаляя всю строку, а лишь замена цифры. Предполагается что значения будет одно для каждого уникального набора условий). Подскажите это возможно?! Если поможете с кодом то буду очень признателен.
Юрий М, добрый день. Очень извиняюсь что поднимаю снова эту тему, Вы мне очень помогли, но есть один нюанс с опцией удаления. К сожалению он удаляет не только то что выбрано в UserForm но и еще одну строку, если повторно нажать удаление. Пример во вложений. (Это файл с которым Вы мне помогли Выше), почему т тогда не заметил, а сейчас собрал макрос в общем файле и заметил что немного некорректно работает. Если удобно, не могли бы Вы подсказать как быть. А Если Вы б подсказали как обратиться вместо диапазона в коде макроса к умной таблице на старнице "БД" было б просто шикарно. Спасибо. Очень Вам признателен.
Юрий М, После вызова формы - выставляем параметры (склад: №1 , товар: фрукты) макрос возвращает кол-во 100. Затем нажимаем удалить, чтобы он удалить 100. Макрос удаляет 100, но если еще раз нажать то он удаляет еще и 600 из овощей со склада №3. Если не будет трудно подскажите пож-та еще и с обращением к умной таблице в этих процедурах. Я в поисковике пытался через (часть кода), но выдает ошибку:
Код
Option Explicit
Dim ShSklad As Worksheet
Dim SkladListObj As ListObject
Dim Sklad As String, Tovar As String, iRow As Long
Sub Finder()
Dim i As Long, LastRow As Long, Flag As Boolean
Set ShSklad = ThisWorkbook.Worksheets("БД")
Set SkladListObj = ShSklad.ListObjects("Таблица1")
If Sklad = "" Or Tovar = "" Then Exit Sub
With SkladListObj
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To LastRow
Debug.Print .Cells(i, 1)
If .Cells(i, 1) = Sklad Then
Debug.Print .Cells(i, 2)
If .Cells(i, 2) = Tovar Then
Me.TextBox1 = .Cells(i, 3)
iRow = i
Flag = True
Exit For
End If
End If
Next
End With
If Flag = False Then Me.TextBox1 = "Не найдено"
End Sub
Спасибо, Юрий. Сейчас буду пробовать. Я так понял макрос ведь ищет по всему диапазону, так что проблемы как таковой и нет. Хотел обратиться к диапазону как к умной таблице (она просто есть на стр. "БД", умная таблица "Таблица1"., но почему т не выходит в этом коде или я неправильно обращаюсь. Но я так понимаю это уже тема для другого вопроса и лучше ее тут не обсуждать (просто как бы пример один и думал спросит сразу чтобы тем не создавать много). Не смертельный вопрос, буду думать сам почему не работает обращение к умной таблице. Еще раз огромное спасибо.