Ir ao conteúdo

Posts recomendados

Postado

Bom dia,

 

Estou fazendo um macro para inserir novos itens em uma tabela, então fiz o código abaixo. Ele funciona normalmente, mas me veio a duvida sobre como facilitar a seleção de um intervalo. Como posso usar o offset, por exemplo, sem precisar do auxilio dessas 3 variáveis? Esse é simples, mas se fosse algo mais complexo teria q usar o alfabeto inteiro.

 

 

Citação

    For Each var_inserir In Worksheets("ADD STAFF").Range("G3:G20")
        If var_inserir = "NEW" Then
        
        x = var_inserir.Offset(0, -4)
        y = var_inserir.Offset(0, -2)
        Z = var_inserir.Offset(0, -1)
        
        Sheets("Workers").Range("B6:D6").Insert Shift:=xlDown 'insere uma linha no intervalo indicado
        
        Sheets("Workers").Range("B6") = x
        Sheets("Workers").Range("C6") = y
        Sheets("Workers").Range("D6") = Z
        
        End If
    Next var_inserir

 

 

Se não fosse uma seleção relativa, bastaria usar, por exemplo:

 

Citação

Worksheets("ADD STAFF").Range("C3, E3, F3").copy   Worksheets("WORKERS").Range("B6:D6")

 

Postado

Você pode usar uma variável para atribuir o valor da linha.

 

Para algo mais complexo depende dos valores das colunas, se seguir alguma lógica a implementação será mais fácil.

 

 For Each var_inserir In Worksheets("ADD STAFF").Range("G3:G20")
    If var_inserir = "NEW" Then
        L = var_inserir.Row
                 
        Sheets("Workers").Range("B6:D6").Insert Shift:=xlDown 'insere uma linha no intervalo indicado
        
        Worksheets("ADD STAFF").Range("F" & L & ":E" & L & ",C" & L).Copy Sheets("Workers").Range("B6:D6")
        End If
Next var_inserir

 

Postado
3 horas atrás, BEDS87 disse:

Se não fosse uma seleção relativa, bastaria usar, por exemplo:

Worksheets("ADD STAFF").Range("C3, E3, F3").copy   Worksheets("WORKERS").Range("B6:D6")

 

 

Basta acrescentar os nomes das planilhas origem e destino no comando abaixo:

Union(var_inserir.Offset(, -4), var_inserir.Offset(, -2), var_inserir.Offset(, -1)).Copy [B6]

 

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!