Я пробовал код, который нашел на SE и в других местах, но они не работают так, как я думаю, могут. Я перечислю их ниже. Я почти уверен, что это простой вопрос.
Что я пытаюсь сделать: если в какой-либо из ячеек в диапазоне A2:A100 есть какой-либо текст или число, сделайте вкладку листа желтой. И мне нужно будет сделать это на более чем 20 вкладках.
Проблемы, которые у меня были с другим кодом: насколько я могу судить, они требуют редактирования ячейки, а затем быстро нажимают ввод снова. Я пытался пересчитать SHIFT + F9, но это не дало эффекта, так как я думаю, что это только для формул. Кажется, что код 1 работает, хотя приходится вручную вводить текст заново, но независимо от значения цвета, я всегда получаю черный цвет табуляции.
Код, который я пробовал:
Код 1:
Private Sub Worksheet_Change(ByVal Target As Range)
MyVal = Range("A2:A27").Text
With ActiveSheet.Tab
Select Case MyVal
Case ""
.Color = xlColorIndexNone
Case Else
.ColorIndex = 6
End Select
End With
End Sub
Код 2: Это вопрос стекового потока , хотя я немного изменил код в соответствии со своими потребностями. В частности, если в заданном диапазоне нет значений, чтобы оставить цвет вкладки в покое, а в противном случае изменить его на значение цвета 6. Но я уверен, что сделал что-то не так, я не знаком с кодировкой VBA.
Private Sub Worksheet_Calculate()
If Range("A2:A100").Text = "" Then
ActiveWorkbook.ActiveSheet.Tab.Color = xlColorIndexNone
Else
ActiveWorkbook.ActiveSheet.Tab.Color = 6
End If
End Sub
Спасибо за вашу помощь!