Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Автоматическое изменение положения отметки при изменении параметра выбора
 
Добрый вечер эксперты! На просторах Планеты Excel нашел вроде как решение для себя своего вопроса, но макрос , к сожалению работает не так, как я задумал изначально. Задача в следующем: в столбцах с 19 по 22 нужно ставить отметку "крестик" в зависимости от того, какой тип организации подал документы.  Прописал макрос  а он не работает так как нужно - крестики проставляются одновременно во всех 3-х столбиках, в то время, как нужно, чтоб можно было проставить только 1 тип организации и изменять отметку перещёлкиванием между столбиками перемещая ее таким образом. Кто сможет подсказать , где ошибка в макросе - буду очень признателен. Файл не могу приложить - слишком объемный. И ещё есть 1 нюанс - рабочая программа Excel 2003!
Извиняюсь за удаленную в первый раз тему - вырубают свет и компьютер, соответственно, тоже выключается- не успел сделать редактирование, а только тире проставить. Вот пример этого макроса.
Код
If (Union(Target.Cells, Range("S10:V65000")).Address = Range("S10:V65000").Address) Then
        If Target.Column = 19 Then
            If WorksheetFunction.CountA(Range("T" & Target.Row & ":V" & Target.Row)) <> 0 Then Target.Cells.ClearContents
        ElseIf Target.Column > 19 And Target.Column <= 22 Then
            If WorksheetFunction.CountA(Range("S" & Target.Row)) <> 0 Then Target.Cells.ClearContents
        End If
    End If
В итоге если отметка в столбике S - столбцы T-V просто не заполняются. А нужно, чтоб, если мы с S перещёлкнем на T,то в S отметка исчезла , а в T появилась и так далее по всем 4 столбцам.
[ Закрыто] Select Case
 
Доброй ночи! Большое спасибо за этот сайт - он мне очень помогает открывать новые и новые грани Microsoft Excel и в частности изучать макросы. Но вот наступил тот момент, когда не могу самостоятельно разобраться ( найти ошибку) и нуждаюсь в помощи.

в файле для столбиков  должно выполняться условие - если заполнен какой-то из них, значения в другом поставить не можем. Так для всех 4-х столбцов от A до D. Макрос то я вроде как и прописал, вроде и правильно ( но это ж мое мнение), а он не работает - можете указать на допущенные мной ошибки. Думаю ошибка где в Case, но где...Файл слишком большой не грузится.
Код
For i = 1 To Target.Cells.Count
                If (Union(Target.Cells(i), Range("A1:D65000")).Address = Range("A1:D65000").Address) Then
                    If Target.Cells(i).Value <> "" Then
                        Target.Cells(i).Value = "x"
                        Select Case Target.Cells(i).Column
                        Case 10
                            Range("B" & Target.Cells(i).Row, "C" & Target.Cells(i).Row).ClearContents
                            Application.EnableEvents = True
                            Range("D" & Target.Cells(i).Row).ClearContents
                            Application.EnableEvents = False
                        Case 11
                            Range("A" & Target.Cells(i).Row).ClearContents
                            Range("C" & Target.Cells(i).Row).ClearContents
                            Application.EnableEvents = True
                            Range("D" & Target.Cells(i).Row).ClearContents
                            Application.EnableEvents = False
                        Case 12
                            Range("A" & Target.Cells(i).Row, "B" & Target.Cells(i).Row).ClearContents
                            Application.EnableEvents = True
                            Range("D" & Target.Cells(i).Row).ClearContents
                            Application.EnableEvents = False
                        Case 13
                            Range("A" & Target.Cells(i).Row, "C" & Target.Cells(i).Row).ClearContents
                        End Select
                    Else:
                    End If
                End If
            Next i
Изменено: maksche28 - 13.07.2018 00:22:25
Страницы: 1
Наверх