Victor, dei uma olhada em seu modelo e gostaria de tirar umas duvidas antes de continuar.
Pelo que entendi, vou tomar por base somente a semana1:
Selecionamos a Planilha mo primeiro Combo, depois a Semana1 no segundo, e apos selecionar este é preenchido o ListBox com o diias da Semana Seg a Sex, em seguida clico duas vezes no dia que pretendo alterar e é preenchido os TextBox, alteramos os valores e lançamos.
Neste ponto você diz que "está usando esse código pra lançar os valores na planilha!", e está funcionando, querendo somente o código para alterar, se for isto, devemos :
Primeiro devemos utilizar o inicio da rotina de lançamento para pesquisar a Planilha e a Semana, isto já temos, então;
Segundo, temos de criar uma rotina para localizar na Coluna 1 o Dia da Semana e ai então alterar os valores.
Mas,minha duvida ficou a seguinte, não sei se isto poderá acontecer, você quem pode dizer isto :
Por base em seu modelo o mesmo já está com a Semana1, SEG preenchida, então, vamos supor que em vez de eu querer lançar a TER eu seleciono a QUA, utilizando sua rotina de lançamento ela não lançará na QUA e sim na primeira linha vazia que encontrar, ou seja na TER, então se isto for possível temos uma falha, concorda ?
Resumindo, a principio o mesmo principio de instrução para pesquisar e lançar será utilizado para alterar, só gostaria de saber se o que eu citei acima é correto quanto a possibilidade de lançar no Dia da Semana errado.
Analise seu modelo quanto a isto e depois continuamos na rotina para alterar.
[]s
Penso assim, se tivesse como criar uma área na tabela da semana 1 ou semana 2 e dentro dessa área localizar o valor referente a textbox dos dias da semana SEG, TER...
e aplicar a alteração.
eu testei esse código aqui
Dim sLocalizado
Dim g
Dim sRg As Range
g = Cbb_Meses.Value
s = Cmb_Semana.Value
a = txt_sem.Value
b = txt_datatrab.Value
c = txt_valorpago.Value
d = txt_valorapurado.Value
col = Application.WorksheetFunction.Match(s, Sheets(g).Range("1:1"), 0)'
'aqui falta alguma coisa que ja tentei de tudo mais naum consegui rsrrsr
'Altera os Valores
With g
If ActiveCell.Select = a Then 'isso localiza o valor certo?!
ActiveCell.Select = a
ActiveCell.Offset(, 1).Value = b
ActiveCell.Offset(, 2).Value = c
ActiveCell.Offset(, 3).Value = d
End If
End With
acho que teria que ser mais ou menos assim. no caso a txt_sem seleciona SEG, TER... e apliaca os valores na frente isso? ver o que dar pra fazer...
Tentar não é saber, é ter a certeza que vai descobrir
Dicas excel, vba, Access http://vbaedit.blogspot.com.br/
Postado : 15/05/2014 7:35 pm