Página 1 de 1

Listar "Names" de "Captions" dos Controls em Planilha

Enviado: 27 Jul 2018 às 13:23
por MarceloAdriano
Olá Caros integrantes do Fórum Guru do Excel
Será que existe a possibilidade de listrar de forma dinâmica os "Names" e "Captions" dos controles inseridos na planilha?
Encaminho imagem ilustrativa e a planilha de exemplo.
Grato,
Marcelo Adriano

Re: Listar "Names" de "Captions" dos Controls em Planilha

Enviado: 27 Jul 2018 às 14:13
por gfranco
Mensagem excluida.

Re: Listar "Names" de "Captions" dos Controls em Planilha

Enviado: 27 Jul 2018 às 15:13
por osvaldomp
Código: Selecionar todos
Sub teste()
 Dim objX As Object
  With ActiveSheet
   For Each objX In .OLEObjects
    .Cells(Rows.Count, 1).End(3)(2) = objX.Name
    .Cells(Rows.Count, 1).End(3)(1, 2) = objX.Object.Caption
   Next
  End With
End Sub

Listar "Names" de "Captions" dos Controls em Planilha

Enviado: 27 Jul 2018 às 17:14
por MarceloAdriano
Olá Osvaldo
Muito bacana a sua resolução. Gostaria se possivel de uma explicação que não entendi e que para mim é novidade
como posso interpretar os códigos:
.Cells(Rows.Count, 1).End(3)(2) = objX.Name
.Cells(Rows.Count, 1).End(3)(1, 2) = objX.Object.Caption
Quando você usa .end(3) é a mesma coisa que (xlUp) mais o (2) o que significa e também o código .End(3)(1,2) ?
Grato
Desde já lhe agradeço
Marcelo Adriano

Re: Listar "Names" de "Captions" dos Controls em Planilha

Enviado: 27 Jul 2018 às 18:18
por osvaldomp
Olá, Marcelo.

Exato, (3) equivale a (xlUp)
(1) ~~~> (xlToLeft)
(2) ~~~> (xlToRight)
(3) ~~~> (xlUp)
(4) ~~~> (xlDown)

End(3)(2) ~~~> este comando é a forma reduzida de End(3).Cells(2, 1) ~~~> Cells(lin,col)
sendo que Cells(1,1) se refere à célula retornada pelo comando End(3)
exemplo - se o comando Cells(Rows.Count, 1).End(3) retornou a célula A15, então Cells(1,1) se refere à própria A15, e
Cells(1,2) se refere a B15 e
Cells(2, 1) se refere a A16 ~~~> forma reduzida Cells(2) ~~~> forma mais reduzida (2)
ou seja, se a última célula com conteúdo for A15, então o comando Cells(Rows.Count, 1).End(3)(2) retorna a célula A16

Listar "Names" de "Captions" dos Controls em Planilha

Enviado: 27 Jul 2018 às 18:24
por MarceloAdriano
Olá Osvaldo
Desconhecia essas formas reduzidas.
Obrigado pela explicação e atenção a minha pessoa.
Questão Resolvida!