Página 1 de 1

Executar o código até

Enviado: 30 Jul 2019 às 11:08
por PerdidoDoExcel
Olá Pessoal!

Preciso de uma ajuda, estou desenvolvendo um código mas me perdi.

Meu codigo copia a dados da linha 1 e cola eles em outra planilha.

Hoje minha planilha tem 20 linhas, porem amanhã ela pode ter 19 ou mais.

Eu quero saber o seguinte, como eu faço para fazer o excel parar de executar aquela macro quando ele ler a linha seguinte e ela for vazia.

Obrigado desde já.

Re: Executar o código até

Enviado: 30 Jul 2019 às 11:35
por babdallas
Você pode por exemplo usar um Do While
Código: Selecionar todos
lngLin = 2
Do While wshTeste.cells(lnhLin,1).value <> vbnullstring
   'Aqui voc~e coloca seu código
   lngLin = lngLin+1
Loop
Um outra opção que eu gosto é verificar qual a última linha preenchida, jogas todos os dados para uma matriz e depois jogas esta matriz para o intervalo que você quiser. Algo assim:
Código: Selecionar todos
Dim lngUltLin as Long
Dim vrtDados as Variant

With wshTeste
        lngUltLin = .cells(.rows.count,1).end(xlup).row
       vrtDados = .Range("A2:A" & lngUltLin).Value
       wshDestino.Range("A2:A" & lngUltLin).Value = vrtDados
end with
Se não for o que deseja, anexa um exemplo por favor.

Executar o código até

Enviado: 30 Jul 2019 às 13:52
por PerdidoDoExcel
Olá novamente! Obrigado pela resposta.

Então.. o que eu estou tentando fazer é..

Eu tenho uma planilha com os dados (localizados em, F18, F19 e F20)..

Quero copiar todas essas "linhas" e transportar para outro lugar..

Peço desculpas desde já pois não sei incluir a caixa de cod aqui.

O codigo que estou usando é esse:

session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV45A:4400/ssubHEADER_FRAME:SAPMV45A:4440/ctxtRV45A-KETDAT").Text = Format(Date, "dd.mm.yyyy")
session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG/ctxtRV45A-MABNR[1,0]").Text = UCase(ws.Cells(18, 6))

O que eu queria fazer é.. Após copiar a celula 18 ele pular para a celula de baixo (19) copiala e colar na referencia [2,0]..

E ai ele repetir isso até o fim.. e parar quando a célula de baixo for vazia.

Obrigado.

Re: Executar o código até

Enviado: 30 Jul 2019 às 16:19
por babdallas
Clique em +Resposta, Adicionar um Anexo e depois envie.