Página 1 de 1
Linha de corte da Tabela
Enviado: 09 Set 2019 às 12:54
por SandroLima
Boa tarde, colegas forumeiros.
Estou precisando de uma solução em VBA para localizar a "linha de corte" de uma tabela.
No caso do exemplo em anexo a linha de corte seria dada por:
Total de linhas da tabela - (soma da quantidade de células que apresentam cor de preenchimentoda coluna [Data] e da coluna [Registro]) - (a quantidade de linhas em que as duas colunas possuem células com cor de preenchimento - interseção).
No caso desse exemplo a linha de corte corresponderia à linha do registro 39 da tabela.
Como eu chegaria a esse resultado?
Re: Linha de corte da Tabela
Enviado: 09 Set 2019 às 16:14
por SandroLima
Corrigindo a conta da msg anterior:
Linha de Corte = Total de linhas da tabela - (soma da quantidade de células com cor de preenchimento da coluna [Data] e da coluna [Registro]) - (a quantidade de linhas em que as duas colunas possuem células com cor de preenchimento, ou seja, interseção entre as duas colunas)
Obrigado a quem puder ajudar.
Linha de corte da Tabela
Enviado: 09 Set 2019 às 16:23
por eduardogrigull
Só não consegui entender direito. Todas os registros estão preenchidos, assim como as datas... Tente explicar melhor, eu nao faco a minima ideia do que se trata, e de qual data voce está falando, assim como nao entendo o que queres dizer com "Soma da qtd de células com preenchimento", sendo que todas elas tem um preenchimento!
Linha de corte da Tabela
Enviado: 09 Set 2019 às 17:05
por SandroLima
Cor de preenchimento
Re: Linha de corte da Tabela
Enviado: 10 Set 2019 às 12:01
por SandroLima
Bom dia.
Alguém saberia a maneira de proceder nesse caso?
Linha de corte da Tabela
Enviado: 10 Set 2019 às 13:22
por eduardogrigull
Eu até queria ajudar, mas desisti pq voce não explicou o que eu queria saber. Em nenhuma das dezenas de vezes que tentei, consegui chegar ao resultado da linha 39. Provavelmente os outros que analisaram o arquivo tbm não entenderam.

Re: Linha de corte da Tabela
Enviado: 10 Set 2019 às 16:16
por SandroLima
Mas tentei explicar da melhor maneira possível.
A linha de corte seria a primeira linha em que não houvesse cor de preenchimento nas colunas Registro e Data da tabela.
A linha de corte corresponde à linha cujo valor da célula da coluna Registro é 39.
Re: Linha de corte da Tabela
Enviado: 10 Set 2019 às 18:28
por eduardogrigull
Se eu entendi direito, está funcionando...
Código: Selecionar todosSub LinhadeCorte()
Dim UltimaLinha As Variant
Dim LinhaCorte As Integer
'Ultima linha da tabela, se quiser, pode digitar manualmente, esta autmatico
UltimaLinha = wshAtivDiarias.Cells(wshAtivDiarias.Rows.Count, 2).End(xlUp).Row
'Loop
For i = 15 To UltimaLinha
'Verificar a cor da formatacao condicional
If wshAtivDiarias.Cells(i, 2).DisplayFormat.Interior.Color = 16777215 Or wshAtivDiarias.Cells(i, 2).DisplayFormat.Interior.Color = 15917529 Then
If wshAtivDiarias.Cells(i, 4).DisplayFormat.Interior.Color = 16777215 Or wshAtivDiarias.Cells(i, 4).DisplayFormat.Interior.Color = 15917529 Then
'=Primeira linha sem formatacao condicional
LinhaCorte = i 'Linha na planilha
MsgBox "A linha de corte é: " & wshAtivDiarias.Cells(i, 2).Value
Exit Sub
End If
End If
Next
End Sub
Faca uns testes, eu programei pra ele avisar qual a primeira linha sem preenchimento, das colunas código e data... está acusando a linha 46, que contém o valor "39"