Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
metload
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 4
1

В зависимости от выбранной задачи добавить, обновить или удалить данные, при необходимости обновив нумерацию

08.12.2014, 19:13. Просмотров 253. Ответов 0
Метки нет (Все метки)

Здравствуйте,
прошу помощи в решении задачи оптимальной работы с множеством ячеек. Во вложении файл показывающий рабочий пример. Лист "реестр" содержит множество объектов с которыми надо работать (которые так же будут добавляться -- не только в конец списка ну и так же куда-нибудь в середину списка). В столбце I выбирается задача, в столбце J руками вбивается дата и при нажатии на Enter она копируется в лист "отчёт" ячейку H.
что нужно что бы работало:
1. при выборе какой-то задачи во вкладки "реестр" и при условии, что дата уже проставлена она показывалась в листе "реестр" ячейке J. И так по всем 22 задачам;
2. при ручном вводе даты в листе "отчёт! ячейка H всё работало в таком же порядке, как и пункт 1.
3. при добавлении новых объектов в листе "реестр" (как уже говорил -- может добавляться как куда нибудь в середину списка, так и в конец) не надо было переписывать руками весь код (в связи с тем, что при нумерации нумерация ячеек сместилась);
4. при удалении какого-то участка из листа "реестр", так же надо что бы вся нумерация ячеек не поплыла.
у меня есть рабочий код, но он работает только на каждый объект, то есть мне приходится при добавлении участка дописывать весь блок кода, а если добавление куда нибудь в середину и сразу 10-15 участков, то это очень муторно.
вот рабочий код (каждый такой блок на каждый участок, а их может быть и 500 шт.), хотелось бы его оптимизировать в соответствии с моими пожеланиями

заранее спасибо
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Sub Worksheet_Open(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  Select Case Target.Address
    Case "$I$3"
      If IsEmpty(Target) Then
        Application.EnableEvents = False
        [j3].ClearContents
        Application.EnableEvents = True
      Else
        Application.EnableEvents = False
        Set r = Sheets("отчёт").[b4:b26].Find(what:=Target.Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not r Is Nothing Then
          [j3].Value = r.Offset(, 6).Value
          [k3].Value = r.Offset(, 7).Value
        Else
          [j3].ClearContents
        End If
        Application.EnableEvents = True
      End If
    Case "$J$3"
      Application.EnableEvents = False
      Set r = Sheets("отчёт").[b4:b26].Find(what:=Target.Offset(, -1).Value, lookat:=xlWhole)
      If Not r Is Nothing Then r.Offset(, 6).Value = Target.Value
      Application.EnableEvents = True
  End Select
end sub
0
Вложения
Тип файла: zip для примера_1.zip (81.9 Кб, 6 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2014, 19:13
Ответы с готовыми решениями:

Запретить доступ к тому или иному диапазону в зависимости от выбранной статьи
Очень важно ! Прошу помощи! Значит так, у меня есть определенная таблица...

Нужно обновить таблицу и при этом добавить из неё данные в другую
Нужно сделать так чтобы в таблице "users" обновились данные при оплате с...

Добавить нумерацию при выводе простых чисел
Помогите пожалуйста добавить нумерацию в код. Это алгоритм поиска простых...

Как вывести на экран консоли содержимое из файла txt и при необходимости добавить информацию в файл?
C# Как вывести на экран консоли содержимое из файла txt и при необходимости...

Как при необходимости скрыть или показать курсор
Как по желанию прятать и показывать курсор? При использовании Cursor.Hide()...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2014, 19:13

Как добавить, обновить и удалить несколько строк в DataTable?
Как можно сделать добавление не одной строки в DataTable, а сразу нескольких,...

Иконки для TSpeedButton (добавить, удалить, обновить) в формате BMP
у кого есть иконки для speedbutton (добавить, удалить, обновить) формата bmp

Добавить отсутствующие записи или обновить текущие
Добрый день! mobile и ltv_1953 помогли разобраться как добавить (обновить)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru