Присвоение цвета ячейкам Excel, где есть какое-либо значение - VBA
Формулировка задачи:
Доброго времени суток.
Подскажите как можно выделить цветом заранее не определённые ячейки куда что-либо записалось (в данном случае только числовые значения) и соответственно вернуть исходный цвет при удалении значения.
Решение задачи: «Присвоение цвета ячейкам Excel, где есть какое-либо значение»
textual
Листинг программы
Sub Выделение_изменения() 'CommandButton1_Click() Dim i&, A, B, Eps# Eps = 0.001 'точноcть отслеживания изменений числовых данных Dim cnt As New ADODB.Connection Dim cmd As ADODB.Command Dim prm1 As ADODB.Parameter Dim prm2 As ADODB.Parameter Dim rs As ADODB.Recordset cnt.ConnectionString = "Provider = SQLOLEDB.1; Persist Security Info = False; Data Source = localhost; User ID = sa; Password = proficy; Initial Catalog = Workshop" cnt.Open Set cmd = CreateObject("ADODB.Command") cmd.ActiveConnection = cnt cmd.CommandType = adCmdStoredProc cmd.CommandText = "dbo.EXTRACT3" Set prm1 = cmd.CreateParameter("@charvalue", adInteger, adParamInput, 10, TextBox1.Value) Set prm2 = cmd.CreateParameter("@Feature", adVarWChar, adParamInput, 50, ComboBox4.Value) cmd.Parameters.Append prm1 cmd.Parameters.Append prm2 Set rs = CreateObject("ADODB.Recordset") rs.CursorType = adOpenStatic rs.Open cmd If rs.EOF = True And rs.BOF = True Then MsgBox "Такой партии не существует" Exit Sub Else A = Range("G1:G100").Value Range("G17:G100").Clear Range("G17:G100").Interior.Pattern = xlNone ActiveSheet.Range("G17").CopyFromRecordset rs B = Range("G1:G100").Value For i = 17 To UBound(A) If IsNumeric(A(i, 1)) And IsNumeric(B(i, 1)) Then If Abs(A(i, 1) - B(i, 1)) > Eps Then Cells(i, "G").Interior.color = vbYellow Else If A(i, 1) <> B(i, 1) Then Cells(i, "G").Interior.color = vbYellow End If Next End If ComboBox4.Clear End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д