desculpe mas oq eu te passei é o basico do basico
muito mais simples do que vc está tentando fazer
lf = Cells(Rows.Count, "C").End(xlUp).Row' vai definir a ultima linha da coluna c com valor =linha final
li=2' define a primeira linha
m=cells(li,"C").value2
' vai fazer loop da 1ª até a ultima linha
for l= li to lf
if cells(l,"C").value2<>"" then
m= cells(l,"C").value2
else
cells(l,"A").value2 =m
end if
next
loop for next
nesse caso vai contar de Li até Lf e atribuir esse valor em L
e vai executar tudo que estiver entre for e next até L=LF
que nesse caso é contar de 2 (Li) até a ultima linha com dados da coluna "C" (LF)
mas isso vc veria em qualquer pesquisa de vba e for next
if cells(l,"C").value2<>"" then
>>se a celula (L "que contem o valor da contagem de for next" , "C" coluna C) é diferente de vazio então faça
m= cells(l,"C").value2
atribua em "M" o valor da celula (L "que contem o valor da contagem de for next" , "C" coluna C)
senão
cells(l,"A").value2 =m
mas como vc está usando Do While e Offset
que são bem mais complicados eu pensei que saberia como usar esses comandos
não falei nada sobre matriz nem vetores
mas v já mudou a logica da macro
então o ideial seria ter um exemplo e melhor explicação do que vc quer fazer
eu uso pouco coisas de datas
mas WeekdayName(n, True) ao me ver está correto
oq pode está acontecendo é n estar voltando um numero diferente do aceitado
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 26/12/2014 1:56 pm