Автоматическое изменение положения отметки при изменении параметра выбора
Пользователь
Сообщений: Регистрация: 13.07.2018
27.10.2018 01:12:05
БМВ, как думаете, может через Select Case попробовать прописать? Ведь суть задачи такова: например отметку поставили, что есть документы от бюджетной организации (столбик V). Потом оказалось , что ошиблись и это ЧП - поставили отметку в столбик T и в тоже время она исчезает со столбика V.
Изменено: - 27.10.2018 01:14:40
Автоматическое изменение положения отметки при изменении параметра выбора
Пользователь
Сообщений: Регистрация: 13.07.2018
27.10.2018 00:53:50
Ігор Гончаренко,спасибо, но я как раз и благодарю БМВ за то, что подсказал как упростить код и что выбросить!
Автоматическое изменение положения отметки при изменении параметра выбора
Пользователь
Сообщений: Регистрация: 13.07.2018
27.10.2018 00:36:55
БМВ,спасибо, действительно я не обратил на это внимание, а также можно упростить макрос..
Автоматическое изменение положения отметки при изменении параметра выбора
Пользователь
Сообщений: Регистрация: 13.07.2018
27.10.2018 00:06:19
Добрый вечер эксперты! На просторах нашел вроде как решение для себя своего вопроса, но макрос , к сожалению работает не так, как я задумал изначально. Задача в следующем: в столбцах с 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
Пользователь
Сообщений: Регистрация: 13.07.2018
13.07.2018 07:25:34
, извините, а не подскажите где тему поменять. Открывается только редактирования текста.
[ Закрыто] Select Case
Пользователь
Сообщений: Регистрация: 13.07.2018
13.07.2018 00:20:59
Доброй ночи! Большое спасибо за этот сайт - он мне очень помогает открывать новые и новые грани и в частности изучать макросы. Но вот наступил тот момент, когда не могу самостоятельно разобраться ( найти ошибку) и нуждаюсь в помощи.
в файле для столбиков должно выполняться условие - если заполнен какой-то из них, значения в другом поставить не можем. Так для всех 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