Descricao: |
Saberexcel - o site das macros
Esse procedimento do aplicativo Microsoft Excel VBA, insere determinadas FC(Formatações Condicionais) em determinadas células na folha de planilha, dependendo do valor inserido, essas formatações são configuradas em uma folha de planilha a parte. Observe que o procedimento foi inserido na folha de código do Livro ativo Workbook_SheetChange. ' Essa planilha faz parte dos Módulos Como Fazer - Programação MS Excel VBA - Treinando e Brincando com Excel VBA.
'Option Explicit '------------------------------------------------------------------------- 'Escola Saberexcel VBA Estudos® - Treinamentos Macros, Fórmulas e Funções '[email protected] '------------------------------------------------------------------------- Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim vTabTemp As Variant Dim vLinha As Long
'se o usuário selecionar mais de uma célula sai da sub, sai do procedimento(macro) If Target.Cells.Count > 1 Then Exit Sub 'If Target.Cells.Value = "" Then Exit Sub 'Verifica se há a presenta de um formato condicional special na célula selecionada If Target.FormatConditions.Count < 1 Then Exit Sub
If Target.FormatConditions(1).Formula1 = "=Saberexcel" Then
With Sheets("Lista_Formatos") 'Carrega preferencialmente em uma matriz variant temporária vLinha = .Range("A65536").End(xlUp).Row vTabTemp = .Range(.Cells(1, 1), .Cells(vLinha, 1)).Value
'Determinando o formato a ser utilizado baseado no valor das células If Target.Value = "" Then vLinha = 1 Else For vLinha = 2 To UBound(vTabTemp, 1) If Target.Value < vTabTemp(vLinha, 1) Then Exit For Next vLinha End If
Application.EnableEvents = False 'Aplicando o formato personalizado .Cells(vLinha, 2).Copy
Target.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Target.FormatConditions.Add Type:=xlExpression, Formula1:="=Saberexcel" Application.CutCopyMode = False Application.EnableEvents = True End With End If End Sub
|