Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2009, 14:21   #1
Screame
Форумчанин
 
Аватар для Screame
 
Регистрация: 27.05.2009
Сообщений: 170
Восклицание помогите исправить код

У меня есть код который позволяет добавлять имена в список, но вот одна проблема, имена добавляются только в том случае когда, список находится на том же листе что и ячейка со списком. Кроме того что добавлять нужно еще и удалять имена со списка но только тогда когде нужно помогите пожалуйста, я не силен в кодах, а зделать нужно. Вот этот код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim lReply As Long

    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Address = "$D$2" Then
     If IsEmpty(Target) Then Exit Sub
       If WorksheetFunction.CountIf(Range("People"), Target) = 0 Then
          lReply = MsgBox("Добавить введенное имя " & _
                         Target & " в выпадающий список?", vbYesNo + vbQuestion)
          If lReply = vbYes Then
              Range("People").Cells(Range("People").Rows.Count + 1, 1) = Target
          End If
       End If
     End If
End Sub
Заранее спасибо!!!!
Screame вне форума Ответить с цитированием
Старый 11.07.2009, 14:52   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Попробуйте такой код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$2" Then
        If IsEmpty(Target) Then Exit Sub
        If [People].Find(Target) Is Nothing Then
            If MsgBox("Добавить введенное имя " & Target & " в выпадающий список?", vbYesNo + vbQuestion) = vbYes Then
                [People].Offset(10000).End(xlUp).Offset(1) = Target
            End If
        End If
    End If
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 12.07.2009, 10:56   #3
Screame
Форумчанин
 
Аватар для Screame
 
Регистрация: 27.05.2009
Сообщений: 170
По умолчанию

Спасибо, все работает!!!!!!!!
Screame вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код lider24816 Помощь студентам 2 24.05.2009 18:12
Помогите исправить код (Delphi)! Cesmir Помощь студентам 18 30.12.2008 03:03
Помогите исправить код Grizzzli Помощь студентам 3 14.12.2008 19:26
Помогите исправить код Tanuska___:) БД в Delphi 4 07.08.2008 17:40
Помогите исправить код student_63 Помощь студентам 5 13.12.2007 18:20