Respostas criadas no fórum
-
AutorArtigos
-
AlbinoParticipante
boas
jorgeroda tua sugestão, com as alterações das linhas que eu efectuei funciona, no entanto a celulas da linha recém colada só ficam protegidas após a edição de uma celula.
eu necessitava que ao serem coladas as celulas na nova linha, essa linha ficasse bloqueada para edição excepto as celulas das colunas k,l e m dessa linha.
aquela instrução do “deve”, pensei eu, que ao ser colado o texto na linha a intrução fosse logo executada, mas isso não acontece. É que o “deve” é colado , não inscrito na linha. haverá forma de alterar isso?
se quiseres coloco aqui o ficheiro integral.
obrigado
abraço.
albinoAlbinoParticipanteboas.
jorgerod.
afinal tenho mais uma pequena alteração para aquela instrução.
pretendo que quando colo os dados na folha, as celulas dessa linha fiquem bloqueadas excepto as das colunas j,k,l. quando efectuar a alteração na coluna j para “pago” entÃo toda a linha deverá ficar protegida excepto a coluna l.
tentei adaptar o código, mas não faz o que pretendo.
altei para:
option compare textprivate sub worksheet_change(byval target as excel.range)
activesheet.unprotect password:=”roma13″
‘apartir daqui alterei, mas não surte o efeito desejado
if range(“k$” & target.row).value = “deve” thencells(target.row, 1).resize(, 9).locked = true and cells(target.row, 10).resize(, 12).locked = false _
‘bloqueia as cols a-i e liberta as cols j-l da linha activa, pensava eu‘else
‘coloquei esta parte do código em baixo pensando que funcionaria
elseif target.column = 10 and range(“$j$” & target.row) = “pago” thenrange(“$k$” & target.row).value = date
end ifactivesheet.protect password:=”roma13″, drawingobjects:=true, contents:=true, scenarios:=true
end sub
mais uma vez peço a tua ajuda.
obrigado
cumprimentosAlbinoParticipanteboas
jorgerod.
ficou maravilha. 👿
muito obrigado. b)
cumprimentosAlbinoParticipantejorgerod
estava aefectuar alterações.
tenta agora
CartaUtentes.xlsmAlbinoParticipanteboas
ai vai então.
de referir que os dados na folha são colados nessa folha vindo de outra atravez de macro.
na coluna “h” são sempre colados “deve”, ao alterar para “pago” será colada a data na coluna “i” e desejava que quando essa linha fosse alterada de “deve” para “pago” a mesma não pudesse ser alterada novamente (toda a linha).
CartaUtentes.xlsmAlbinoParticipanteboas
jorgerod
epá, apliquei o codigo no entanto devolve-me o erro 1004 e a linha
“cells(target.row, 1).resize(, 16).locked = false”, fica amarela.
o codigo que tenho:
____________________________________________
private sub worksheet_change(byval target as excel.range)activesheet.unprotect
if target.column = 8 and range(“$h$” & target.row) = “pago” then range(“$i$” & target.row).value = date
if ucase(cells(target.row, 16)) = “pago” then
cells(target.row, 1).resize(, 16).locked = true ‘bloqueia as cols a-o da linha activa
else
cells(target.row, 1).resize(, 16).locked = falseend if
‘activesheet.protect password:=”xpto”,
activesheet.protect , drawingobjects:=true, contents:=true, scenarios:=true
end sub
não sei o que está mal.abraço
22 de Agosto de 2013 às 22:50 em resposta a: Impressão das mesmas linhas no final de cada págin #2229AlbinoParticipanteboas
ficou sem esconder a coluna, mas está a funcionar.
obrigado28 de Junho de 2013 às 23:25 em resposta a: Impressão das mesmas linhas no final de cada págin #2203AlbinoParticipanteboas
jorge.
apliquei a tua dica e acrescentei mais uma coisita para ficar melhorzito a meu ver claro.
Ás tuas linhas acrescentei palavreado extra para a msgbox, ficou assim:sub imprime_folha_activa
dim sheetname as string
dim resposta as integersheetname = activesheet.name
resposta = msgbox(sheetname & ” ” & “é a folha que quer imprimir?”, vbyesno, “atenção”)if resposta = vbyes then
else: exit sub…o restante código….
end subpara completar e seria a cereja no topo do bolo só falta que quando colo na print pag os meses com menos de 31 dias, as colunas que ficam em branco não aparecessem na impressão. fiz algumas tentativas gravando uma macro com a rotina de escolher as colunas em questão, mas acontecia que ocultava as colunas todas.
tentei usar este código imediatamente antes de cada impressão mas, dá erro 1004 não é possivel defenir a propriedade hiden da classe range.‘oculta colunas vazias
sheets(sheetname).select
if range(“af7”).value = “” then
columns(“af:ah”).hidden = true
else
columns(“af:ah”).hidden = false
end ifisso tambem é promenor, mas que ficava bem ficava.
obrigado
cumprimentos
albino25 de Junho de 2013 às 23:45 em resposta a: Impressão das mesmas linhas no final de cada págin #2201AlbinoParticipante25 de Junho de 2013 às 23:44 em resposta a: Impressão das mesmas linhas no final de cada págin #2200AlbinoParticipantetalvez agora vá o anexo.
25 de Junho de 2013 às 23:33 em resposta a: Impressão das mesmas linhas no final de cada págin #2199AlbinoParticipanteolá jorge r.
como sugerias na tua resposta, resolvi aventurar-me e tentar resolver a questão.
gravei uma macros e acrescentei algumas instruções de vba e resultou mais ou menos no que queria.
há no entanto um senão, o meu ficheiro tem 12 folhas, uma por cada mês e da forma como eu fiz tenho de repetir 12 vezes o código, uma para cada mês. a minha pergunta é a seguinte:
não há forma de no código em vez de identificar folha por folha usar algo que se aplique á folha que está activa no momento. senão tenho de fazer 12 instruções cada uma com o nome de cada folha.
se não for pedir muito mando o ficheiro para se possivel aligeirar o código.
a forma que consegui fazer foi copiar – colar – imprimir e de seguida efectuar o mesmo procedimento.obrigado desde já.
cumprimentos
albinoAlbinoParticipanteolá
não sabia dessa coisa do carma.
já dei um ao wagnerAlbinoParticipanteolá
wagner goulartecom umas adaptaçõezitas ficou “beleza”.
obrigadocpts
albinoAlbinoParticipanteolá joregerod
o teu codigo não corresponde ás minhas expectativas, quando o executo só me aparecem as inputbox e as nsgbox tudo o resto nada.
o que eu pretendo é filtrar todas as entradas num determinado mês, por ex. fevereiro e não uma data unica.
com um código que encontrei na net consigo fazer o que quero, no entanto quando o adapto á minha folha, não funciona.
pelo que eu pude observar, há informação que o codigo vai buscar em entradas fixas onde se colocam as iniciais dos meses numa coluna de 1 a 12, na coluna seguinte coloca-se a data inicial e na coluna seguinte data final.
ao digitar na inputbox as iniciais do mes, devolve todas entradas desse mes.
ao adaptar ao meu projecto, não filtra. será a formatação das celulas??junto envio o tal código adaptado ao meu projecto
sub busca_mes()
thismonth = inputbox(“digite as 3 iniciais do nome do mês”)
if thismonth = 0 or thismonth = “” then exit sub
application.calculation = xlcalculationmanual
application.enableevents = falsewith worksheets(“folha1”)
r = application.match(thismonth, .range(“ar1:ar12”), 0)
dbeg = .cells(r, 2)
dend = .cells(r, 3)
end withsheets(“folha2”).range(“$a$3:$o$800”).autofilter field:=2, criteria1:= _
“>=” & dbeg, operator:=xland, criteria2:=”=” & dbeg, operator:=xland, criteria2:=”<=" & dend
application.enableevents = true
application.calculation = xlcalculationautomatic
folha1.usedrange.copy destination:=folha3.range("a1")
end subabraço obrigado
AlbinoParticipantebboas
jorge rod
com prometido então aqui vai o ficheiro que eu criei.
não sei se servirá para alguma coisa, mas a mim deu-me e dá-me jeito no meu trabalho.
qulaquer explicação para que serve é só perguntar. -
AutorArtigos