Usuário com melhor resposta
Mostrar o ultimo registro (Data)

Pergunta
-
Boa tarde.
Tenho uma pasta de trabalho com duas planilhas (Principal e dados) Na planilha principal tenho os campos:
* Projeto
* Objetivo
* HistoricoCriei um formulário para atualização de status dos projetos, neste formulário tenho os seguintes campos:
* Combo que busca e ordena o nome de todos os projetos.
* Campo texto para atualização do historico do projeto.
* Botão salvar.
Salvando o status do projeto ele armazena na planilha dados as seguintes informações: Projeto, data, historico.
Gostaria de mostrar na planilha Principal apenas o ultimo status atualizado (planilha dados) de cada projeto.Alguém tem alguma idéia?
Muito obrigado.
Abraço, Daniel
Respostas
-
Suponha que, ao clicar em Salvar, ele inclua, por ordem, na Planilha Alterações o Projeto na coluna A, Data na coluna B e Histórico na coluna C, bastaria você buscar a última linha da Planilha Alterações e mostrar as informações na Planilha Início, por exemplo:
dim r as long
dim sProjeto as string
dim dt as date
dim sHistórico as string
with thisworkbook.sheets("Alterações")
r = .cells(.rows.count,"A").end(xlup).row
sprojeto = .cells(r,"A")
dt = .cells(r,"B")
sHistórico = .cells(r,"C")
end with
'Então, na Planilha Início:
with ThisWorkbook.sheets("Início")
.range("A1") = sprojeto
.range("A2") = dt 'Esta célula deve estar formatada como data
.range("A3") = shistórico.
'ou, simplesmente, use apenas esse código:
dim r as long
with thisworkbook.sheets("Alterações")
r = .cells(.rows.count,"A").end(xlup).row
thisworkbook.sheets("Início").range("A1") = .cells(r,"A")
thisworkbook.sheets("Início").range("A2") = = .cells(r,"B")
thisworkbook.sheets("Início").range("A3") = = .cells(r,"C")
end with
Felipe Costa Gualberto - http://www.ambienteoffice.com.br- Marcado como Resposta lDaniel quarta-feira, 16 de novembro de 2011 17:49
-
Sub Exemplo()Dim rng As RangeDim r As LongDim sProcura As StringsProcura = "projeto2"With Sheets("Plan1").Columns("A")Set rng = .Find(sProcura, .Cells(1), xlValues, xlWhole, xlRows, xlPrevious, True)End WithIf rng Is Nothing Then'Não foi encontrado o projeto desejado, logo, não há históricoElser = rng.Row'r é a linha do último registro do projeto2End IfEnd Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br- Marcado como Resposta lDaniel quarta-feira, 16 de novembro de 2011 17:50
Todas as Respostas
-
Suponha que, ao clicar em Salvar, ele inclua, por ordem, na Planilha Alterações o Projeto na coluna A, Data na coluna B e Histórico na coluna C, bastaria você buscar a última linha da Planilha Alterações e mostrar as informações na Planilha Início, por exemplo:
dim r as long
dim sProjeto as string
dim dt as date
dim sHistórico as string
with thisworkbook.sheets("Alterações")
r = .cells(.rows.count,"A").end(xlup).row
sprojeto = .cells(r,"A")
dt = .cells(r,"B")
sHistórico = .cells(r,"C")
end with
'Então, na Planilha Início:
with ThisWorkbook.sheets("Início")
.range("A1") = sprojeto
.range("A2") = dt 'Esta célula deve estar formatada como data
.range("A3") = shistórico.
'ou, simplesmente, use apenas esse código:
dim r as long
with thisworkbook.sheets("Alterações")
r = .cells(.rows.count,"A").end(xlup).row
thisworkbook.sheets("Início").range("A1") = .cells(r,"A")
thisworkbook.sheets("Início").range("A2") = = .cells(r,"B")
thisworkbook.sheets("Início").range("A3") = = .cells(r,"C")
end with
Felipe Costa Gualberto - http://www.ambienteoffice.com.br- Marcado como Resposta lDaniel quarta-feira, 16 de novembro de 2011 17:49
-
Oi Felipe, obrigado pela resposta!
Desta forma vou mostrar apenas a ultima atualização. Acho que não expliquei direito.
Na planilha principal eu tenho vários projetos, criei um formulário para atualização dos projetos, este formulário salva as informações na planilha dados sequencialmente ex:
projeto1 | 10/11/2011 | Definição do escopo
projeto1 | 12/11/2011 | Escopo aprovado
projeto2 | 14/11/2011 | Aguardando aprovação de verba
projeto1 | 16/11/2011 | Escopo definido, equipes de infraestrutura avaliandoNa planilha principal que preciso mostrar a ultima atualização de cada projeto, no caso
Projeto1 - Escopo definido, equipes de infraestrutura avaliando
Projeto2 - Aguardando aprovação de verba
Obrigado.Abraço
-
Sub Exemplo()Dim rng As RangeDim r As LongDim sProcura As StringsProcura = "projeto2"With Sheets("Plan1").Columns("A")Set rng = .Find(sProcura, .Cells(1), xlValues, xlWhole, xlRows, xlPrevious, True)End WithIf rng Is Nothing Then'Não foi encontrado o projeto desejado, logo, não há históricoElser = rng.Row'r é a linha do último registro do projeto2End IfEnd Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br- Marcado como Resposta lDaniel quarta-feira, 16 de novembro de 2011 17:50
-