- Este tópico contém 11 respostas, 3 utilizadores e foi actualizado pela última vez há 13 anos, 1 mês por Albino.
-
AutorArtigos
-
-
12 de Dezembro de 2011 às 2:56 #1023AlbinoParticipante
boas.
antes de mais desejo um bom natal para todos e os meus parabéns ao jorge rodrigues por mais uma congratulação como mvp.a minha duvida é a seguinte:
será possível numa célula ter acesso a duas listas através da validação de dados?
isto é, tenho uma folha onde em determinada célula vou colocar nomes de produtos de duas entidades diferentes.
o meu intuito seria por ex:
quando colocasse na célula b6 “reprografia”, na célula c4 teria acesso à lista dos produtos da reprografia e
quando colocasse alimentação na célula b6, na célula c4 teria acesso à lista dos produtos da alimentaçãoas listas serão colocadas em por ex: reprografia ab4:ab15, alimentação em ad4:ad15
obrigado
-
12 de Dezembro de 2011 às 18:10 #1763AnónimoInactivo
[attachment]c:fakepathlista interligada.xlsm[/attachment]
olá camarada !!isso que vc pediu tem sim como fazer. segue anexo com exemplo. apenas não utilizei as mesmas células que vc disse .. mas dá na mesma.
na primeira célula (g2) vc cria uma lista normal. chamando um conjunto de células ou escrevendo na própria validação os nomes (reprografia;alimentação).
na segunda (h2) vc faz referença indireta a primeira (g2).
as células que contem os produtos desejados vc seleciona tudo e define um nome (b2:b4 define o nome reprografia) e (c2:c3 define o nome alimentação).
caso precise de maiores explicação, favor solicitar.
espero ter ajudado.
ListaInterligada.xlsx -
12 de Dezembro de 2011 às 19:20 #1764AnónimoInactivo
ótima solução wagner.
-
13 de Dezembro de 2011 às 5:03 #1765AlbinoParticipante
boas
wagner
obrigado funcionou na perfeição.já agora uma outra duvida um pouco desfasada do tópico, mas talvez saibas me esclarecer.
É o seguinte num código vba tenho a indicação de gravação de um ficheiro numa determinada pasta com o nome escolhido por mim“”c:documents and settingsalbinoambiente de trabalhotemppauloextemporânea ” & format(now, “dd-mm-yyyy hh-mm-ss”) & “.pdf”
o ficheiro gravado sairá com o nome “extemporânea 12-12-2011 21:32:14” o que eu pretendia era que esse código fosse buscar o primeiro nome a uma determinada célula, por exemplo em vez de ser “extemporânea” ser o nome que estaria na célula l2 da folha1e tudo o resto igual, ficando portanto “(nome de l2) 12-12-2011 21:32:14”.
obrigado
-
13 de Dezembro de 2011 às 9:50 #1766AnónimoInactivo
albino, vms supor que o nome em [l2] seja “facebook”, então o nome do arquivo seria: “facebook 12-12-2011 21:32:14.xls”
basta vc setar o nome completo do caminho do arquivo:
“c:documents and settingsalbinoambiente de trabalhotemppaulofacebook 12-12-2011 21:32:14.xls”se vc quer abrir o arquivo por exemplo, use [workbooks.open filename:=”nome completo”]
espero ter ajudado!
-
13 de Dezembro de 2011 às 11:11 #1767AnónimoInactivo
na verdade, se entendi bem, o que vc deseja fazer é o seguinte:
salvar_como o arquivo sempre com o nome que estiver escrito na célula l2, por exemplo.
_______________________________________________________sub salvar_como()
dim sha as string
‘aqui vc coloca a célula desejada
sha = “l2”‘descreva sua programacao vba e no lugar do nome, coloque (sha)
‘antes
“”c:documents and settingsalbinoambiente de trabalhotemppauloextemporânea ” & format(now, “dd-mm-yyyy hh-mm-ss”) & “.pdf”‘depois
“”c:documents and settingsalbinoambiente de trabalhotemppaulo(sha) ” & format(now, “dd-mm-yyyy hh-mm-ss”) & “.pdf”end sub
‘avisa se funcionar..
-
14 de Dezembro de 2011 às 0:34 #1768jorgerodAdministrador
proveniente de zack barresse (vba express), para adaptar:
option explicit
sub svme()
‘saves filename as value of a1 plus the current date
dim newfile as string, fname as string
‘ don’t use “/” in date, invalid syntax
fname = range(“a1″).value‘change the date format to whatever you’d like, but make sure it’s in quotes
newfile = fname & ” ” & format$(date, “mm-dd-yyyy”)‘ change directory to suit your pc, including user name
chdir _
“c:documents and settings user name desktop”activeworkbook.saveas filename:=newfile
end sub
-
14 de Dezembro de 2011 às 3:25 #1769AlbinoParticipante
boas noites
a do leandro é o que eu já tenho
wagner
a tua solução é a que eu procuro, no entanto não assume o nome que se encontra na célula l2, grava o ficheiro onde pretendido mas com o nome (sha) ………pdfcoloco aqui o código todo, pois talvez eu esteja a fazer algo errado.
eu tinha este código adaptado por mim.sub imagem4_clique() ‘troquei aqui o sub salvar() porque coloquei uma imagem para activar a impressão e atribui-lhe esta macro.
sheets(“folha1”).select
application.dialogs(xldialogprintersetup).show
‘activewindow.selectedsheets.printout copies:=1dim svinput as string
dim sha as string
‘aqui vc coloca a célula desejada
sha = “l2”svinput = “c:documents and settingsalbinoambiente de trabalhotemppaulo(sha) ” & format(now, “dd-mm-yyyy hh-mm-ss”) & “.pdf”
with activesheet
.exportasfixedformat _
type:=xltypepdf, _
filename:=svinput, _
openafterpublish:=true
end withend sub
comenta
obrigado -
14 de Dezembro de 2011 às 14:40 #1770AnónimoInactivo
agora entendi!
como o ‘sha’ é a variavel que esta recebendo a célula que esta o nome, vc deve colocar dentro do método ‘range’
activesheet.range(sha).valueficaria assim:
svinput = “c:documents and settingsalbinoambiente de trabalhotemppaulo”&activesheet.range(sha).value & format(now, “dd-mm-yyyy hh-mm-ss”) & “.pdf”se tiver algum espaço depois do nome em ‘l2’, não esqueça de coloca-lo junto no caminho.
-
14 de Dezembro de 2011 às 16:17 #1771AlbinoParticipante
boas.
leandro
deu resultado está a funcionar bem. -
14 de Dezembro de 2011 às 16:25 #1772AlbinoParticipante
boas
jorgerod.a tua solução depois de efectuar algumas alterações ao código está a funcionar como eu pretendia.
para o caso de te interessar colo aqui a alteração ao código que adaptei para os meus propósitos.sub svme()
‘saves filename as value of a1 plus the current date
dim newfile as string, fname as string
‘ don’t use “/” in date, invalid syntax
fname = range(“l2″).value‘change the date format to whatever you’d like, but make sure it’s in quotes
newfile = fname & ” ” & format$(now, “dd-mm-yyyy hh-mm-ss”)‘ change directory to suit your pc, including user name
chdir _
“c:documents and settingsalbinoambiente de trabalhotemppaulo”‘[desactivei esta instrução porque o intuito era gravar em pdf e não xls]
‘activeworkbook.saveas filename:=newfilewith activesheet
.exportasfixedformat _
type:=xltypepdf, _
filename:=newfile, _
openafterpublish:=true
end withend sub
obrigado
-
14 de Dezembro de 2011 às 21:59 #1024jorgerodAdministrador
albino,
obrigado!! É sempre para colar 🙂
quanto mais se cola aqui, melhor e mais útil é para todos!!!
-
-
AutorArtigos
- Tem de iniciar sessão para responder a este tópico.