- Este tópico contém 11 respostas, 3 utilizadores e foi actualizado pela última vez há 13 anos, 3 meses por
Albino.
-
AutorArtigos
-
-
12 de Dezembro de 2011 às 2:56 #1023
Albino
Participanteboas.
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 #1763
Anónimo
Inactivo[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 #1764
Anónimo
Inactivoótima solução wagner.
-
13 de Dezembro de 2011 às 5:03 #1765
Albino
Participanteboas
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 #1766
Anónimo
Inactivoalbino, 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 #1767
Anónimo
Inactivona 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 #1768
jorgerod
Administradorproveniente 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 #1769
Albino
Participanteboas 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 #1770
Anónimo
Inactivoagora 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 #1771
Albino
Participanteboas.
leandro
deu resultado está a funcionar bem. -
14 de Dezembro de 2011 às 16:25 #1772
Albino
Participanteboas
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 #1024
jorgerod
Administradoralbino,
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.