Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

grbdv

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
 
    Select Case Target.Column
        Case 1, 2
            Dim LLoop As Integer
            Dim LTestLoop As Integer
             
            Dim Lrows As Integer
            Dim LRange As String
            Dim LChangedValue As String
            Dim LTestValue As String
             
            'Test first 200 rows in spreadsheet for uniqueness
            Lrows = 200
            LLoop = 2
             
            Dim sColChr$(1 To 2)
            sColChr(1) = "A": sColChr(1) = "B"
 
            'Check first 200 rows in spreadsheet
            While LLoop <= Lrows
                LChangedValue = sColChr(Target.Column) & CStr(LLoop)
                 
                If Not Intersect(Range(LChangedValue), Target) Is Nothing Then
                    If Len(Range(LChangedValue).Value) > 0 Then
                     
                        'Test each value for uniqueness
                        LTestLoop = 2
                        While LTestLoop <= Lrows
                            If LLoop <> LTestLoop Then
                                LTestValue = sColChr(Target.Column) & CStr(LTestLoop)
                                'Value has been duplicated in another cell
                                If Range(LChangedValue).Value = Range(LTestValue).Value Then
                                    'Set the background color to red
                                    Range(LChangedValue).Interior.ColorIndex = 3
                                    MsgBox Range(LChangedValue).Value & " already exists in cell " & sColChr(Target.Column) & LTestLoop
                                    Exit Sub
                                Else
                                    Range(LChangedValue).Interior.ColorIndex = xlNone
                                End If
                                     
                            End If
                             
                            LTestLoop = LTestLoop + 1
                        Wend
                         
                    End If
                End If
                 
                LLoop = LLoop + 1
            Wend
        Case Else
            ' do nothing
    End Select
     
End Sub


Всего записей: 1163 | Зарегистр. 20-08-2011 | Отправлено: 20:23 10-11-2011
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru