Colocar texto de cuadro de texto en una hoja de trabajo (Microsoft Excel)
Excel le permite colocar todo tipo de objetos gráficos en su hoja de trabajo. Un tipo de objeto gráfico en realidad contiene texto: un cuadro de texto.
Si tiene bastantes cuadros de texto en una hoja de trabajo, es posible que se pregunte si hay una manera de extraer el texto de cada cuadro de texto y colocarlo en la hoja de trabajo.
No hay ningún comando para hacer esto; en su lugar, debe utilizar una macro. La siguiente macro recorre cada cuadro de texto en una hoja de trabajo y realiza la extracción deseada:
Sub ExtractText() Dim shp As Shape Dim sLoc As String For Each shp In ActiveSheet.Shapes With shp If Left(.Name, 8) = "Text Box" Then sLoc = .TopLeftCell.Address Do Until Range(sLoc) = "" sLoc = Range(sLoc).Offset(1, 0).Address Loop Range(sLoc) =.TextFrame.Characters.Text .Delete End If End With Next End Sub
Dado que Excel almacena todas las formas gráficas en la colección Formas, puede recorrer la colección y determinar con qué formas desea trabajar. En este caso, se comprueban los primeros ocho caracteres del nombre de la forma. Solo si el nombre comienza con «Cuadro de texto», la macro considera que la forma es un cuadro de texto del que se puede extraer texto.
En lugar de verificar la redacción del «Cuadro de texto» en el nombre, la macro también podría verificar qué tipo de forma se está considerando. Si prefiere hacer esto, simplemente reemplace la línea de prueba (si se deja …) con la siguiente línea de prueba:
If shp.Type = msoTextBox Then
La variable sLoc se usa para almacenar la ubicación del cuadro de texto, que está contenido en la propiedad .TopLeftCell. Luego se utiliza un bucle Do para asegurarse de que la celda a la que apunta la dirección esté vacía. (Esto evita que se sobrescriba cualquier contenido existente de la celda). Si no está vacía, la dirección se «incrementa» a la siguiente celda de la columna.
Con la dirección de una celda vacía determinada, el texto del cuadro de texto se almacena en la celda. El método .Delete se utiliza para deshacerse del cuadro de texto real.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (11631) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:
link: / excel-Placing_Textbox_Text_Into_a_Worksheet [Colocar el texto del cuadro de texto en una hoja de trabajo]
.