Ir para o conteúdo
  • Cursos
  • Sobre
  • Conteúdo
  • Eventos
  • Contato
Menu
  • Cursos
  • Sobre
  • Conteúdo
  • Eventos
  • Contato
pedir orçamento
BLOG

Office Script – Dois métodos diferentes para mapear a última célula preenchida na coluna

Olá, seguidor e seguidora do blog!

Depois de algum tempo sem escrever nada para o blog sobre o Office Script,
resolvi falar um pouco sobre duas técnicas diferentes de marcar a última
célula de uma coluna no Excel O
nline.

No VBA o processo é bem fácil pois podemos utilizar o método END de
uma range para descobrir a última célula preenchida. Seja de cima para baixo
ou de baixo para cima. Se ficou curioso, o comando para mapear a última
célula da coluna B de uma planilha seria:


dim ultcel as range
set ultcel =
activesheet.cells(activesheet.rows.count, 2).end(xlup)

A variável ultcel receberá a referência da última célula
com dados na coluna B.


Daqui para frente, é só usar a variável para capturar o número da
linha, o conteúdo da célula, reposicionar o cursor (offset) para
gravar novos dados e o que mais sua criatividade permitir aproveitar do
recurso.

Mas, como a instrução pode ser escrita no Office Script para o
Excel Online?

Vamos utilizar a planilha abaixo como modelo:

Na coluna A temos nomes e na coluna B sobrenomes. 

Vamos mapear a última célula da coluna A.

let w = workbook.getActiveWorksheet()

let ultcel = w.getCell(w.getRange().getRowCount() – 1, 0).getRangeEdge(ExcelScript.KeyboardDirection.up).getRowIndex()

console.log(ultcel)
A variável w foi mapeada para a planilha ativa
(getActiveWorksheet).

O método acima posiciona o curso na última
célula da coluna A (coluna zero, pois o índice de contagem de linhas e
colunas no Office Script começa em zero, e não em 1 como no VBA) e, em
seguida utilizando o método getRangeEdge dispara a ação KeyboardDirection.up
para mapear a última célula.

O último método: getRowIndex permite
capturar o número da linha da última célula com dados.

O resultado para essa operação é 18 (observe o resultado na região de
console do print abaixo).

A vantagem deste método é que, mesmo havendo células em branco
na planilha, o valor sempre mapeará a última célula da coluna.


Vamos ao exemplo 2!

Utilizando os mesmos dados, vou alterar o código:


let w = workbook.getActiveWorksheet() //Mapeamos a planilha ativa

let ultcel = w.getCell(0, 0).getRangeEdge(ExcelScript.KeyboardDirection.down).getRowIndex()

console.log(ultcel)

O resultado do código acima, conforme comprovado com o print abaixo,
indica 12… Isso aconteceu devido a
célula A14 estar em branco.


Apesar de ser mais simples na escrita, a desvantagem é
que células em branco entre os dados atrapalham o mapeamento.


No próximo artigo, vou mostrar uma técnica para gravar vários registros de
uma única vez na planilha. Para não perder o artigo, siga o blog ou minhas
redes sociais
clicando aqui.

Agora é sua vez… Pratique um pouco e escreva os dois códigos
(não vale copiar e colar!). 
Dessa forma você conseguirá comprovar a técnica…

Que assunto
gostaria que eu escrevesse no próximo artigo?
Deixe sua sugestão nos
comentários!

Grande abraço, obrigado pela leitura e não deixe de
conferir o curso OFFICE SCRIPT FUNDAMENTOS que lancei em 2022. Ele está
disponível em meu portal de treinamentos (clique aqui) ou na Udemy (clique aqui).

Para cupons de desconto na Udemy, confira esse outro artigo que
escrevi e é atualizado mensalmente com promoções (clique aqui).

✔ Para acesso ao conteúdo programático do curso clique aqui.

Convido você a ler outros artigos que já escrevi sobre o
Office Script:

Office Script | TypeScript – Método reduce para array (dica)
Office Script | TypeScript – Método reduceRight para array
Office Script | Que tal estudar esta tecnologia agora?
Office Script | Estrutura de decisão IF … ELSE IF … ELSE
…
 – Artigo 1
Office Script | Estrutura de decisão IF … ELSE IF … ELSE
…
 – Artigo 2
Office Script | Estrutura de decisão SWITCH … CASE – Artigo 1
Office Script | Estrutura de decisão SWITCH … CASE – Artigo 2
Office Script | Type Annotation – Declaração de variáveis
Office Script | Como ativá-lo em sua organização
Office Script | Como compartilhar seu script com outras
pessoas
Office Script | Gravador de Ações – Problema e Solução:
Classificação Horizontal
Office Script | Classificação vertical dos dados
Office Script | Estrutura de Repetição FOR


Até o próximo artigo!

Alessandro
Trovato
Compartilhando conhecimento, sempre!

#typescript
#officescript #excelonline #excelscript #trovato #mvp #mvpbr
#cursostrovato #if #elseif


Mais vendidos Amazon

Contato

Telefone:

+55 11 98861.4882

E-mail:

contato@alessandrotrovato.com.br

Siga-nos

Facebook Instagram Linkedin Twitter Youtube

© Copyright 2024 – Todos os direitos reservados | Alessandro Trovato

criado por: