Bom dia!
Preciso saber qual código no Basic utilizo para criar um intervalo nomeado. Tentei gravar uma macro fazendo isso de várias formas mas não aparece o código na macro e nem faz a gravação depois que executo a macro. Preciso do código pois irei personalizar essa função.
Meu intuito é criar um botão que faça várias nomeações de intervalos com determinados critérios em um loop.
Segue abaixo o código desse loop no excel, estou tentando passar para o libre mas não estou conseguindo:
"Private Sub CommandButton1_Click()
Dim n As Long
Dim i As Long
Dim m As Long
Dim linha As String
Dim linhai As String
Dim linham As String
Dim intervaloinicial As String
Dim intervalofinal As String
Dim intervalo As String
i = 1
n = 2
m = 3
linha = "I" & n
linham = "I" & m
While Not IsEmpty(Range(linham).Value)
While Sheets("CORES E TAMANHO LUPO").Range(linha).Value = Sheets("CORES E TAMANHO LUPO").Range(linham).Value
linha = "I" & n
linhai = "I" & i
linham = "I" & m
If Sheets("CORES E TAMANHO LUPO").Range(linhai).Value <> Sheets("CORES E TAMANHO LUPO").Range(linha).Value Then
intervaloinicial = "J" & n
End If
If Sheets("CORES E TAMANHO LUPO").Range(linha).Value <> Sheets("CORES E TAMANHO LUPO").Range(linham).Value Then
intervalofinal = "J" & n
End If
n = n + 1
i = i + 1
m = m + 1
Wend
intervalo = intervaloinicial & ":" & intervalofinal
ActiveWorkbook.Names.Add Name:=Sheets("CORES E TAMANHO LUPO").Range(linha).Value, RefersToR1C1:=intervalo
ActiveWorkbook.Names(Sheets("CORES E TAMANHO LUPO").Range(linha).Value).Comment = ""
linha = "I" & n
linham = "I" & m
Wend
End Sub"
.
Passei o a tarde tentando e conseguir chegar a isso, mas falta inserir o nome do intervalo direto, coisa que não estou conseguindo:
"sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
dim intervalo as String
dim x as Long
dim y as Long
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
x = 2
y = 5
intervalo = "$J$" & x & ":$J$" & y
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = intervalo
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:CreateNames", "", 0, Array())
end sub"