- Este tópico contém 11 respostas, 2 utilizadores e foi actualizado pela última vez há 11 anos, 10 meses por Albino.
-
AutorArtigos
-
-
15 de Fevereiro de 2013 às 11:32 #1275AlbinoParticipante
boas.
tenho uma duvida “existencial” ou não.
acontece o seguinte:
criei uma macro para copiar dados da folha1 para folha2, de seguida desenhei um botão e atribui a macro ao dito. até aqui tudo bem funciona direito, mas depois lembrei-me de alterar o aspecto do botão e como não alterava como o meu interesse, desenhei um commandbotton e atribui o mesmo código, uma vez que era para desempenhar a mesma função.
surpresa!!! para mim claro, quando clico o commandbotton devolve o erro 1004. porque srá???o código em questão para o botão é o seguinte.
sub macro1()
sheets(“folha1”).select
range(“az2:bm12”).copysheets(“folha2”).select
range(“a1048576”).end(xlup).offset(1).pastespecial xlpastevaluessheets(“folha1”).select
range(“e2,r2,ac2,e5,e7,e9,m7,m9,u7,u9,ac7,g11,l11”).select
selection.clearcontentssheets(“folha1”).range(“e2:l2”).select
end subpara o commandboton altera o inicio
private sub commandbutton1_click()
bla.bla.bla
end subde referir que o erro é referente á linha
range(“e2,r2,ac2,e5,e7,e9,m7,m9,u7,u9,ac7,g11,l11”).select
o que poderá ser??
cmpts
obrigado -
15 de Fevereiro de 2013 às 17:10 #2102jorgerodAdministrador
boas, albino,
coloca aqui a planilha com as duas hipóteses, para se poder verificar melhor quais serão as diferenças, ok?
-
15 de Fevereiro de 2013 às 17:59 #2103AlbinoParticipante
boas
jorgerod.
aqui vai então a planilha.
já agora pedia-te que desses uma vista de olhos ao código da pesquisa que tentei criar.
na folha1 tem algumas explicações de como pretendo que isto funcione.
obrigado.como não sei qual é vai nas duas extensões comprimido.
Formulrio.zip -
15 de Fevereiro de 2013 às 18:56 #2104jorgerodAdministrador
albino,
quanto ao problema do botão, acho que está resolvido. experimenta com este código:
private sub commandbutton1_click()
sheets(“folha1”).select
range(“az2:bm2”).copywith sheets(“folha2”)
.range(“a” & .rows.count).end(xlup).offset(1, 0).pastespecial xlpastevalues
end withsheets(“folha1”).select
range(“e2,r2,ac2,e5,e7,e9,m7,m9,u7,u9,ac7,g11,l11”).select
selection.clearcontentssheets(“folha1”).range(“e2:l2”).select
end subquanto ao resto, vou ver, ok?
diz qq coisa.
-
15 de Fevereiro de 2013 às 20:20 #2105jorgerodAdministrador
albino,
se o que te interessa é encontrares , na filtragem, os registos que tenham o item “devolvida”, penso que, numa primeira fase, se poderá fazer o seguinte:
sub pesquisar_click()
with sheets(2)
.autofiltermode = false
.range(“m2″).autofilter field:=13, criteria1:=”devolvida”
.activate
end withend sub
diz qq coisa, ok?
-
17 de Fevereiro de 2013 às 22:28 #2106AlbinoParticipante
boas
jorgerod.em relação ao dito botão realmente a questão ficou resolvida, está a funcionar.
no que toca á pesquisa, realmente funciona com o teu código e segundo os parametros que introduzis-te, mas a minha ideia seria efectuar a pesquisa pelo nº da factura e não pelo seu estado.
portanto teria de ter a opção de colocar o nº da factura para efectuar a sua pesquisa.
eu tentei adaptar o teu código ao meu, mas não funcionou.
ei-lo:sub pesquisar_click()
dim myname ‘introduzi
with sheets(2)myname = inputbox(prompt:=”digite o nome para filtro ou carregue em ok para remover filtro”, title:=”filtra por nome”)’ introduzi
.autofiltermode = false
.range(“c3″).autofilter field:=3, criteria1:=”*” & myname & “*” ‘alterei
.activatesheets(“folha1”).select
range(“e2”).selectend with
end subserá que, é pelo facto de o campo pesquisado ser numero e não letra?
no caso concreto quero que pesquise na coluna3 quando se introduz o nº da factura na msgbox.obrigado desde já.
cmpts
albino -
20 de Fevereiro de 2013 às 2:35 #2107jorgerodAdministrador
boas, albino,
experimenta:
sub pesquisar_click()
dim mynamewith sheets(2)
.autofiltermode = false
range(“a2:m700″).select
myname = inputbox(prompt:=”digite o número da factura para filtro ou carregue em ok para remover filtro”, title:=”filtra por numero da factura”)if myname = “” then
selection.autofilter
range(“a1”).select
else
.range(“c2”).autofilter field:=3, criteria1:=myname, operator:=xland.activate
range(“a1”).select
end if
end withend sub
diz qq coisa, ok?
se resultar, o aparecimento dos dados na folha 1, é semelhante aquela folha chamada “infantário”, não sei se te lembras, o que fizemos há uns anos… 🙂
se não te lembrares, diz, pq eu acho que ainda tenho o código que transporta a informação para os campos pretendidos… 😉
-
21 de Fevereiro de 2013 às 18:49 #2109AlbinoParticipante
boas.
jorgerod
está perfeito para este evento. :whistle:no que toca a copiar os dados ecolar na outra folha, resolvi a questão da seguinte forma numa zona da folha a copiar fiz equivalencias(=) de celulas ficando todos os dados numa linha, depois foi só aplicar o colar na outra folha.
lembro-me da dita folha “infantário” e tenho-a guardada algures, mas como não fui a usa-la, mas sim um colega meu já não melembrava que tinha informação para o transporte de dados.
se não te der muito trabalho podes postar o código. :sobrigado
cmpts
albino -
21 de Fevereiro de 2013 às 22:30 #2110jorgerodAdministrador
boas, albino,
se bem te recordas, isto já remonta ao longínquo ano de 2006 (novembro, se não me engano)… :cheer:
bom, o código é este eu se segue. É só adaptares. se conseguires e vais conseguir, podes depois colocares o teu material aqui para os vindouros, que achas? ah…. se quiseres, posso aqui colocar o ficheiro, claro…
um abraço.
jrod
código:
private sub worksheet_beforedoubleclick(byval target as range, cancel as boolean)
set rng1 = activecell ‘clicar duplamente sempre numa célula da coluna a,
‘para que a função offset() possa indicar o número da célula pretendida
set rng2 = rng1.offset(0, 2)
set rng3 = rng1.offset(0, 5)
set rng4 = rng1.offset(0, 10)rng3.copy destination:=worksheets(“factura”).range(“f6:j6”) ‘ este range é porque são merged cells
rng2.copy destination:=worksheets(“factura”).range(“f10:j10”) ‘ igualmente
rng4.copy
worksheets(“factura”).range(“h14”).pastespecial (xlvalues) ‘não altera a formatação no destinorange(“a1”).select ‘ esta selecção de a1, é apenas para desactivar a activecell
end sub -
22 de Fevereiro de 2013 às 14:04 #2111AlbinoParticipante
boas
jorgerod
agora sim lembro-me, até porque adaptei o mesmo a uma outra folha que criei para fichas de consulta médica.para este projecto isso não me vai ser util, até porque já está quase pronto, só me falta uma coisa que não consigo encontrar forma de o fazer, que é um filtro por data, mais precisamente por mês.
através do filtro do excel consigo, no entanto queria arranjar código para adicionar a um outro que me efctuasse a pesquisa em determinada coluna onde inscrevo a data.
se fizer a pesquisa com a data exata consigo fazer.
o que eu quero é efectuar uma busca nessa coluna de todas as entradas de terminado mês. por ex:
coluna d entradas das datas pode ser no formato dd/mm/aaaa ou dd/jan/aaaa.
o resultado dessa pesquisa devolveria as linhas que fizessem referencia ao mês de fev por ex.
o ideal seria introduzir numa inputbox o mês desejado para efectuar o filtro de todas as entradas referentes a esse mês.
posteriormente essas linhas encontradas serão copiadas e coladas noutra folha para impressão.não consigo atinar com essa pesquisa.
no final de tudo pronto n~ºao me importo de colocar aqui o ficheiro ou os códigos .
abraço
albino -
1 de Março de 2013 às 11:22 #2122AlbinoParticipante
boas
jorgerod
…não consigo fazer um filtro por data, mais precisamente por mês. :s
através do filtro do excel consigo, no entanto queria arranjar código para adicionar a um outro que me efctuasse a pesquisa em determinada coluna onde inscrevo a data.
se fizer a pesquisa com a data exata consigo fazer.
o que eu quero é efectuar uma busca nessa coluna de todas as entradas de terminado mês. por ex:
coluna d entradas das datas pode ser no formato dd/mm/aaaa ou dd/jan/aaaa.
o resultado dessa pesquisa devolveria as linhas que fizessem referencia ao mês de fev por ex.
o ideal seria introduzir numa inputbox o mês desejado para efectuar o filtro de todas as entradas referentes a esse mês.
posteriormente essas linhas encontradas serão copiadas e coladas noutra folha para impressão.não consigo atinar com essa pesquisa.
abraço
albinoentão a ajudita é possivel? agradecia bem lá do fundo
obrigado.. -
2 de Março de 2013 às 19:50 #1276jorgerodAdministrador
albino,
vou tentar na 2ª feira, ok? antes, é-me impossível. 🙁
-
-
AutorArtigos
- Tem de iniciar sessão para responder a este tópico.