Respostas criadas no fórum
-
AutorArtigos
-
jorgerodAdministrador
boas, paulo,
vê o seguinte exemplo, talvez te sirva:
private sub optionbutton1_change()
if me.optionbutton1 = true then
me.textbox1.value = “”
me.textbox1.enabled = false
me.textbox1.visible = false
else
me.textbox1.enabled = true
me.textbox1.visible = true
end if
end subjorgerodAdministradorpaulo,
não podes dar o comando para ir para uma célula da linha 67, como condição para executar a macro ou o segmento de código?
jorgerodAdministradorehe, ehe… acontece!…:)
jorgerodAdministradorpaulo,
talvez:
for i= 1 to vnum
call macro
next i
jorgerodAdministradorpaulo,
tens que indicar a condição: se vnum for diferente de 0 ou se for célula vazia, então executa a macro, caso contrário, não executa.
falta-te o if ….. then…. end if…
jorgerodAdministradorexperimenta este código e compara:
sub numericdatatype()
dim lnum as single
on error resume next
application.displayalerts = false
lnum = application.inputbox _
(prompt:=”indique o valor da multa”, _
title:=”multa”, type:=1)on error goto 0
application.displayalerts = true
if lnum = 0 then
msgbox “tem que indicar um valor!” _
, vbexclamation, title:=”alerta pm consulting®:”
exit subelse
range(“j1”).value = lnum
end if
end sub
jorgerodAdministradorpaulo,
sobre este assunto, vê:
- http://peltiertech.com/excel/hyperlinks.html (do mvp jon peltier)
- http://www.ozgrid.com/excel/hyperlinks.htm (ozgrid.com)
pode ser que te ajude.
jorgerodAdministradorfixe! fica aqui, para constar e ajudar outros “adictos” que possam vir a ter o mesmo problema! 🙂
jorgerodAdministradorpaulo,
depois diz se funcionou, ok?
jorgerodAdministradorpaulo,
correcto e afirmativo!
tem tudo a ver com o modo de programar. por isso é que pode ser ajustado no editor de vba, de modo a que, sempre que se crie um módulo, apareça no início do mesmo esta opção, que vale para todo o código que esteja dentro do módulo, quer o código tenha a ver com forms, com botões ou funções, etc.
jorgerodAdministradorfaz o download do programa findlink, do mvp bill manville, em:
http://www.oaltd.co.uk/mvp/default.htm
podes, eventualmente, ter que utilizar também o programa namemanager, do mvp jan karel pieterse no mesmo sítio.
fica bem.
jorgerodAdministradorjorgerodAdministradorquanto à 1ª pergunta:
sheets(“user”).range(“a2”).value = mes
correcto!
quanto à 2ª:
quando o option explicit é utilizado, todas as variáveis têm que ser declaradas. assim, se, por exemplo, utilizares uma variável, ex: userchoice e não declararesessa variável (ex. dim userchoice as string), vai aparecer-te a mensagem que a variável não foi definida.
porque se utiliza: para prevenir erros de escrita (ex: em vez de utilizares userchoice, utilizas por lapso uzerchoice). ora, este lapso pode trazer-te algumas consequências um pouco nefastas e às vezes difíceis de encontrar onde é que está o erro. assim se declarares a variável e tiveres declarado o statement option explicit, se tiveres um lapso, virá logo a mensagem e ser-te-á mais fácil corrigi-lo.
o option explicit não é obrigatório, mas, na minha opinião, é um óptimo método de programação vba.
podes ver um texto muito completo sobre toda esta matéria (declaração de variáveis) em: http://www.cpearson.com/excel/declaringvariables.aspx
pertence ao mvp chip pearson. muito bom mesmo!
🙂
jorgerodAdministradorpaulo,
há um erro no primeiro ficheiro. substui pelo segundo.
assim que possa, apago o 1º.
jorgerodAdministradorolá paulo!
na secção downloads>anexos, encontras um ficheiro com uma primeira aproximação. adapta e depois diz qualquer coisa.
nota: a célula p2, contém um valor correspondente ao mês actual. o valor é dado no código que se encontra dentro do módulo1, o qual é executado sempre que o ficheiro é aberto, através do chamamento do sub abrir() através do sub auto_open().
o resto, são fórmulas simples.
fica bem.
-
AutorArtigos