Ir ao conteúdo
  • Cadastre-se

AfonsoMira

Membro Pleno
  • Posts

    463
  • Cadastrado em

  • Última visita

Tudo que AfonsoMira postou

  1. Boas tentei criar uma macro aqui. Veja se é isso que pretende? Caso não seja estou disposto ajudar mais. RELATORIO NFE_AfonsoMira.zip
  2. Sim têm toda a razão. Erro meu aqui. Ora experimente da seguinte maneira: Private Sub UserForm_Initialize() Dim arquivo As String, pasta As String, diretorio As String ListBox1.Clear diretorio = "Caminho COMPLETO do ficheiro" While diretorio <> "" If diretorio <> "*.*" Or diretorio <> "" Or diretorio <> "." Or diretorio <> ".." Then ListBox1.AddItem diretorio diretorio = Dir() Else diretorio = Dir() End If Wend End Sub
  3. Boas, tudo bom, penso que você tenha que informar o caminho completo desse ficheiro, pois em computadores diferentes o caminho que usa agora pode variar. Exemplo no seu PC a pasta de logistica de rede tem o seguinte caminho: "J:logistica..." já em outro PC poderá ter: "L:logistica..." a diferença entre o J e o L já faz com que o VBA não consiga localizar a pasta. O que eu sugiro é o seguinte. Vá no ficheiro escolhido, clique com o botão direito do mouse em cima, selecione propriedades, de seguida vá na aba segurança e onde está nome do objeto, esse será o caminho que todos os PC's irão reconhecer. Depois altere o seu código para este e preencha o que falta (falta indicar o caminho completo esse ai em cima que mostrei como se pega). Código: Private Sub UserForm_Initialize() Dim arquivo As String, pasta As String, diretorio As String ListBox1.Clear diretorio = "Caminho COMPLETO do ficheiro" pasta = ThisWorkbook.Path arquivo = diretorio & pasta While arquivo <> "" If arquivo <> "*.*" Or arquivo <> "" Or arquivo <> "." Or arquivo <> ".." Then ListBox1.AddItem arquivo arquivo = Dir() Else arquivo = Dir() End If Wend End Sub Alguma dúvida, é só perguntar.
  4. Boas experimente desta forma. Sub Teste() Dim P As String, UltimaLinha As String, Lin As String, i As Integer P = Sheets("Planilha1").Cells(Rows.Count, "A").End(xlUp).Row UltimaLinha = Sheets("Plano de Produção").Cells(Rows.Count, "B").End(xlUp).Row Lin = P For i = 16 To UltimaLinha If Sheets("Plano de Produção").Cells(i, 2) = "PROD" Then Sheets("Planilha1").Cells(Lin, 1) = Sheets("Plano de Produção").Cells(i, 3) Lin = Lin + 1 End If Next End Sub Penso que o erro esteja na parte em que atribui o valor a varíavle Ultimalinha, pois tinha na coluna A e troquei para a B, pois na planilha que enviou, na coluna A não tem informação. Fazendo com que assim saltase o Loop. Espero ter ajudado

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!