Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lhbessa

Excel e VB-Pintar célula de 1 planilha com base em informação de outra

Recommended Posts

Olá a todos,

Primeiramente gostaria de pedir desculpas se essa minha dúvida já foi respondida; nunca trabalhei com Visual Basic e, no momento, estou querendo implementar uma melhoria no meu ambiente de trabalho.

 

Trabalho em um setor que controla as informações da empresa. Usamos aqui planilhas do Excel para agregar as informações. Tenho o seguinte problema:

 

- A planilha X, contém todas as informações que precisamos. Tem várias linhas numeradas, e cada célula que contém um número é seguida de outra com sub-numerações, como no exemplo abaixo:

 

001 | 102,5 | Ok |...

001 | 234,5 | Pendente |...

012 | 247,5 | Dia normal |...

045 | 301,5 | No aguardo |...

028 | 234,5 | Com problemas |...

028 | 117,5 | Ok |... etc.

 

- A planilha Y contém somente as numerações, e tem a função de mostrar o progresso do trabalho:

 

001__| 012__| 045__| 028__|...

102,5 | 247,5 | 301,5 | 234,5 |

234,5 |______|_____| 117,5 |

 

À medida em que as informações são inseridas nas linhas da planilha X, as células da planilha Y são pintadas de azul. Dessa forma, tem-se uma visão geral do projeto: as células da planilha Y que estão pintadas de azul representam o serviço que já foi feito; e as células que estão com o fundo branco, representam o que ainda falta fazer.

 

Minha dúvida é como conseguir realizar esse trabalho: mudar automaticamente o fundo das células da planilha Y. Se eu preencher com "Ok" a terceira coluna da linha 045, ponto 301,5 (na planilha X), a numeração correpondente na planilha Y fica com o fundo azul.

 

Alguém tem ideia de se é possível ser feito isso?

Lembrando que não sei mexer com VB, então agradeceria muito se alguém pudesse me dar uma dica, orientação.

 

Agradeço muito a ajuda de vcs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei exatamente como os dados da planila Y estão se em linhas ou colunas....

 

segue um exemplo considerando que estão em linhas

 

em um UserForm adicionei um botão e seguinte codigo

 

Private Sub CommandButton1_Click()

 

 

Dim i As Integer

Dim codigo_projeto As String

 

For i = 1 To 3

 

Sheets("X").Select

 

Dim celula As String

celula = "C" & i

 

Range(celula).Select

 

If Range(celula).Value = "OK" Then

codigo_projeto = Range("B" & i).Value

MudaCor (codigo_projeto)

End If

Next

 

 

' Sheets("X").Select

 

End Sub

 

'E aqui o codigo da função

 

Sub MudaCor(codigo As String)

 

Sheets("Y").Select

 

Dim i As Integer

For i = 1 To 10

 

If Range("A" & i).Value = codigo Then

 

Range("A" & i).Select

 

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorAccent1

.TintAndShade = 0

.PatternTintAndShade = 0

End With

 

End If

 

Next

 

End Sub

 

espero ter ajudado

 

Jolienai

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.