Ir ao conteúdo
  • Cadastre-se

Word VBA - Criando Array Dinamico e Eliminando Posições com valor igual


Ir à solução Resolvido por Edson Luiz Branco,

Posts recomendados

Olá, pessoal, como vão?

Preciso de uma ajuda. Estou desenvolvendo um código em VBA, e nele preciso:  (1) Criar um array de STRING, dinâmico, de 01 dimensão, (2) Depositar informações vindas de outros arrays, (3) redimensionar o array quando para que garanta que não haverá informações repetidas em cada índice.

 

Para o ítem #2 está correndo certo, já que eu estou com as strings funcionando, mas na hora de depositar as informação, tento assim:

     Dim FolArray() As String

     depois tento algo to tipo: FolArray()  = "string1", etc... vou tentando incrementar dinamicamente, porém não funciona. Qual seria  a melhor fórmula para aumentar dinamicamente o array através da inclusão arbitrária de strings?

 

Além disso, como faço para remoldar este array considerando que não haverá repetição de conteúdo nos índices?

 

Obrigado!

 

 

Link para o comentário
Compartilhar em outros sites

  • Solução
50 minutos atrás, tetchelex disse:

Qual seria  a melhor fórmula para aumentar dinamicamente o array através da inclusão arbitrária de strings?

 

Redimensione a matriz em tempo de execução. Use Preserve para manter os valores já inseridos (senão a cada ReDim os valores serão apagados):

Dim FolArray() As String, i As Long
For i = 1 To 5
  ReDim Preserve FolArray(1 To i)
  FolArray(i) = "Qualquer coisa " & i
Next i

Para não haver repetição, a cada inclusão você teria que fazer um loop pelos elementos para checar se ele já existe. Se forem muitos itens ou muito frequente o uso, muito melhor seria usar um Dictionary (da biblioteca Microsoft Scripting Runtime) pois ele tem uma propriedade .Exists que lhe permite checar se um elemento já está na coleção.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...