Pergunte aqui
0

Como obter a referência última célula de uma determinada coluna?

perguntadas 2019-05-30 00:36:42 +0200

imagem do gravatar de ronaldofas

updated 2019-06-03 02:15:05 +0200

Olá pessoal!

Estou vindo do excel e estou tentando fazer algumas movimentações com células e colunas. Uma destas movimentações eu precisa sabe qual é o número da última linha preenchida em uma determinada coluna. No excel eu faria da seguinte forma:

Dim UltimaLinha as Long
UltimaLinha = Worksheets("Plan1").Cells(Rows.Count, "A").End(xlUp).Row, ' isto me retorna na variável UltimaLinha o número da última linha utilizada na colula A da planilha plan1.

Eu vi uma pergunta e resposta parecida neste tópico https://ask.libreoffice.org/pt-br/que... mas não entendi como pego o valor para usar em outro local.

Estou querendo fazer isso:

'Converte a coluna de valores de texto para valores.
UltimaLinha = Sheets("Captura").Cells(Rows.Count, 1).End(xlUp).Row
Set rngCelula = Range("L2:L" & UltimaLinha )

With rngCelula
    .NumberFormat = "#,##0.00_);[Red](#,##0.00)"
    .FormulaLocal = rngCelula.Value
End With
'***********************************************************

Só que em Basic, será que alguém pode me ajudar a entender como obter esse valor?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

1

respondidas 2019-05-30 15:39:20 +0200

imagem do gravatar de Conrado

@ronaldofas, seja bem vindo.

Veja se é isso que procura.

Arquivo

É importante que salve sua planilha com extensão <ods>, caso contrário, perderá a macro

editar assinalar como ofensivo Excluir Link mais
1

respondidas 2019-05-30 01:03:40 +0200

updated 2019-05-30 01:09:24 +0200

Quando diz Texto para Valores, entendi que seria Formula para Valor, se for isso,

A macro abaixo considera a coluna A a partir de A1 e colar na coluna C a partir de C1.

sub CopiarGravarValores
dim document, dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem -----Vai para A1 célula inicia a copiar------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem -----seleciona ate final da coluna ( não pode ter vazia )-------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfDataSel", "", 0, args2())

rem ---Copia--------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ---Vai para a primeira celula da coluna a copiar-----------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$C$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())

rem ----Cola ( não formulas )-----------------------------------------------
dim args5(5) as new com.sun.star.beans.PropertyValue
args5(0).Name = "Flags"
args5(0).Value = "SVDNT"
args5(1).Name = "FormulaCommand"
args5(1).Value = 0
args5(2).Name = "SkipEmptyCells"
args5(2).Value = false
args5(3).Name = "Transpose"
args5(3).Value = false
args5(4).Name = "AsLink"
args5(4).Value = false
args5(5).Name = "MoveMode"
args5(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args5())

rem --para desmarcar local de colagem--------------------------------------
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, Array())
end Sub

E grande pelo fato de ser feita pelo gravador de macro, mas funciona.

Segue arquivo do teste

A botão pode dar problema, se der, use Ferramentas / Macros / Executar macros.....


ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-05-30 00:36:42 +0200

Lidas: 59 vezes

Última atualização: May 30