Уважаемый Hugo, и другие форумчане!
Передо мной стоит очень много задач, которые нужно реализовать с помощью макросов, но в силу того, что не красиво каждый раз просить готовый код, я стараюсь разбираться в кодах сам, дабы в будущем их (т.е. коды) самому и создавать.
Так вот, хочу вернуться к предыдущему коду, а именно этот код я для себя дополняю где можно всякими комментариями и примечаниями, и на данный момент код выглядит вот так (с моими комментами):
Так вот, прошу вас, форумчане проверить мои комментарии, все ли команды я правильно расшифровываю?
Кроме этого я не могу логически для себя понять вот эту строку:
Т.е. зачем мы переменной arr присваиваем что-то? И соответственно потом в дальнейшем используем эту переменную arr в тем строках, где назначаем цвет ячейки и т.д. (не понимаю команду split(.Item(color1.Value), "|"))
Причем в следующих строках с использованием arr мы в скобках пишем разные цифры (0) (1) (2), зачем?
P.S. Простите за дилетантизм, и прошу хотя бы ссылку на простейшее описание (хелп от VBA и прочие официальные описания не дали мне ответ, а простые формы описания не нашел).
Заранее спасибо большое за ответ (-ы).
Владимир.
Передо мной стоит очень много задач, которые нужно реализовать с помощью макросов, но в силу того, что не красиво каждый раз просить готовый код, я стараюсь разбираться в кодах сам, дабы в будущем их (т.е. коды) самому и создавать.
Так вот, хочу вернуться к предыдущему коду, а именно этот код я для себя дополняю где можно всякими комментариями и примечаниями, и на данный момент код выглядит вот так (с моими комментами):
Код |
---|
Private Sub CommandButton1_Click() Dim color1 As Range, arr '-задаем переменную color1 тип данных - range (т.е. как диапазон данных) (используя оператор Dim) для последующих операций со строками, а также переменную arr, которую не привязываем ни к одному типу With CreateObject("scripting.dictionary") '-создаем объект Dictionary, и работаем с ним с помощью оператора With For Each color1 In Sheets("Список").[a1].CurrentRegion.Columns(1).Cells .Item(color1.Value) = color1.Interior.Color & "|" & color1.Interior.Pattern & "|" & color1.Interior.PatternColor '-с помощью команды Item мы записываем в созданный объект Dictionary данные про цвет, штриховку и цвет штриховки каждой ячейки в столбце А (т.е. 1). Next Sheets("Календарь").UsedRange.Cells.Interior.Color = xlNone '-обнуляем все цвета, перед тем как создать новые. Т.е. каждый раз при обновлении - мы заново сверяем и закрашиваем ячейки. For Each color1 In Sheets("Календарь").UsedRange.Cells If .exists(color1.Value) Then '-проверяем условие существования на листе "Calendar" точно таких же дат, как есть на листе "Action Plan" arr = Split(.Item(color1.Value), "|") color1.Interior.Color = arr(0) '-назначаем цвет фона ячейки color1.Interior.Pattern = arr(1) '-назначаем формат штриховки ячейки color1.Interior.PatternColor = arr(2) '-назначаем цвет штриховки ячейки End If Next End With End Sub |
Так вот, прошу вас, форумчане проверить мои комментарии, все ли команды я правильно расшифровываю?
Кроме этого я не могу логически для себя понять вот эту строку:
Код |
---|
arr = Split(.Item(color1.Value), "|") |
Т.е. зачем мы переменной arr присваиваем что-то? И соответственно потом в дальнейшем используем эту переменную arr в тем строках, где назначаем цвет ячейки и т.д. (не понимаю команду split(.Item(color1.Value), "|"))
Причем в следующих строках с использованием arr мы в скобках пишем разные цифры (0) (1) (2), зачем?
P.S. Простите за дилетантизм, и прошу хотя бы ссылку на простейшее описание (хелп от VBA и прочие официальные описания не дали мне ответ, а простые формы описания не нашел).
Заранее спасибо большое за ответ (-ы).
Владимир.