Notifications
Clear all

Agenda para Consultório

26 Posts
3 Usuários
0 Reactions
2,694 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.Color = RGB(255, 255, 255)
Rows(Target.Row).Interior.Color = RGB(200, 250, 250)
Columns(Target.Column).Interior.Color = RGB(200, 250, 250)
Cells.Borders.ColorIndex = 15
End Sub

Este código acima colore TODA a linha e TODA a coluna da célula ativa!!
.
Mas gostaria que ele colorisse somente ATÉ a célula ativa ... ou seja ... se a célula ativa é G10, SOMENTE a linha ATÉ G e a coluna até 10 ficassem coloridas!!
.
Alguém dá uma luz?? ... Desde já agradeço!!

A intenção é esta, montar uma agenda para o consultório de uma amiga!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 9:27 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Uma coisa que estou observando também é que o código, que postei acima, elimina as formatações manuais ... ou seja ... a coluna A, e a linha 1, da planilha, são azuis, mas depois que inseri o código, elas não tem mais formatação!!!!!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 10:26 am
(@mprudencio)
Posts: 2749
Famed Member
 

Ve se isso ajuda

https://social.msdn.microsoft.com/Forum ... um=excelpt

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 28/05/2016 3:38 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Marcelo, é isto mesmo, valeu ... mas se alguém puder fazer pequenos ajuste, agradeço!!
.
Gostaria que a formatação das colunas A e B, e a linha 1, fossem manual (sem a interferência desse código)!!
.
Mas caso isto não seja possível, ou muito complicado, que a formatação ficasse apenas no tamanho da tabela, ou seja, linha 1 até AC ... coluna A e B, até a linha 1707 !!!
.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 4:46 pm
(@osvaldomp)
Posts: 860
Prominent Member
 

Gostaria que a formatação das colunas A e B, e a linha 1, fossem manual (sem a interferência desse código)!!

substitua estas linhas

 Set RngRow = Range("A" & Row, Target)
Set RngCol = Range(Cells(1, Col), Target)

por estas

Set RngRow = Range("C" & Row, Target)
Set RngCol = Range(Cells(2, Col), Target)

Osvaldo

 
Postado : 28/05/2016 6:52 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Osvaldomp, não estou encontrando essas linhas a serem substituídas no código!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 7:00 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Osvaldomp, (ops, não posso mais excluir a mensagem acima) !!! ... Não é isto não!! ... As linhas coloridas da célula selecionada devem sim ir até a coluna A e a linha 1!! ... O que não quero é que o código influencie na formatação das colunas A e B, e na linha 1!! ... Abra a Plan que postei ali em cima e tente formatar as colunas A e B, e também a linha 1!! Não vai conseguir, porque o código não deixa!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 7:10 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

O que gostaria é que o código somente colorisse a linha e a coluna da célula ativa, até o limite desta!! ... Mais nada (ele tá tirando bordas, colorindo as colunas de Títulos - A e B, e linha 1)!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 7:20 pm
(@osvaldomp)
Posts: 860
Prominent Member
 

Veja se melhorou:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
    Dim RngRow          As Range
    Dim RngCol          As Range
    Dim RngFinal        As Range
    Dim Row             As Long
    Dim Col             As Long
  
    If Target.Column = 1 Or Target.Column > 29 Then Exit Sub
    If Target.Row < 3 Then Exit Sub
 
    cor1 = 4
    cor2 = 4
    cor3 = 4
  
    Range("C3:AC1800").Interior.ColorIndex = xlNone
  
    Row = Target.Row
    Col = Target.Column
    Set RngRow = Range("C" & Row, Target)
    Set RngCol = Range(Cells(2, Col), Target)
    Set RngFinal = Union(RngRow, RngCol)
   
    RngFinal.Interior.ColorIndex = 6
   
End Sub

Osvaldo

 
Postado : 28/05/2016 7:37 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Osvaldomp, o código continua fazendo mais coisa que o desejado (SOMENTE colorir a linha e a coluna da célula ativa, até o limite desta)!! ... Eu formato as colunas A e B de azul, mas ele tira esta cor, o mesmo ocorre com a linha 1!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 7:58 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Veja o print ... até consigo formatar manualmente a linha 1, mas ao mudar de célula o código já fixa o amarelo dele lá!! ... As colunas A e B, após formatar a meu gosto e mudar de célula, o código apaga a formatação que fiz!!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 8:20 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Se entendi altere na rotina do osvaldo as linhas :

Esta :
If Target.Column = 1 Or Target.Column > 29 Then Exit Sub
Por esta :
If Target.Column = 1 Or Target.Column = 2 Or Target.Column > 29 Then Exit Sub

E esta :
Range("C3:AC1800").Interior.ColorIndex = xlNone
Por esta :
Range("C2:AC1800").Interior.ColorIndex = xlNone

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 8:23 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Mauro, valeu ... mas não mudou nada, ou melhor, agora passou a fixar a cor amarela também nas colunas A e B!!
;
O desejo é que o código SOMENTE realce a linha e a coluna da célula ativa!! ... o Código tá fazendo isto, mas também está fazendo coisas indesejaveis!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 8:33 pm
(@osvaldomp)
Posts: 860
Prominent Member
 

Teste este:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
    Dim RngRow          As Range
    Dim RngCol          As Range
    Dim RngFinal        As Range
    Dim Row             As Long
    Dim Col             As Long
 
    If Target.Column < 3 Or Target.Column > 29 Then Exit Sub
    If Target.Row < 3 Then Exit Sub

    cor1 = 4
    cor2 = 4
    cor3 = 4
 
    Range("C3:AC1800").Interior.ColorIndex = xlNone
 
    Row = Target.Row
    Col = Target.Column
    Set RngRow = Range("C" & Row, Target)
    Set RngCol = Range(Cells(2, Col), Target)
    Set RngFinal = Union(RngRow, RngCol)
   
    RngFinal.Interior.ColorIndex = 6
   
End Sub
'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
'    Dim RngRow          As Range
'    Dim RngCol          As Range
'    Dim RngFinal        As Range
'    Dim Row             As Long
'    Dim Col             As Long
'
'
'    cor1 = 4
'    cor2 = 4
'    cor3 = 4
'
'    Rows.Interior.ColorIndex = xlNone
'    Columns.Interior.ColorIndex = xlNone
'
'    Rows(1).Interior.ColorIndex = cor1
'    Rows(2).Interior.ColorIndex = cor2
'    Columns(1).Interior.ColorIndex = cor3
'
'
'    Row = Target.Row
'    Col = Target.Column
'
'    Set RngRow = Range("A" & Row, Target)
'    Set RngCol = Range(Cells(1, Col), Target)
'    Set RngFinal = Union(RngRow, RngCol)
'
'    If Target.Column = 1 Then Exit Sub
'    If Target.Row = 1 Or Target.Row = 2 Then Exit Sub
'    RngFinal.Interior.ColorIndex = 6
'
'End Sub

'

Osvaldo

 
Postado : 28/05/2016 8:45 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Osvaldomp, este melhorou bastante!!
.
O ideal mesmo seria estas linhas assim ... (range("A" ... Cells(1 ... mas ao mudar de célula as cores ficam fixas nas colunas A e B, e na linha 1 !!

Set RngRow = Range("A" & Row, Target)
Set RngCol = Range(Cells(1, Col), Target)
.
Mas valeu, vou deixar para dar o "resolvido" amanhã, vai que kk

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2016 8:59 pm
Página 1 / 2