Cómo copiar una tabla de PDF a Excel
Los archivos PDF son prácticamente la norma para distribuir informes hoy en día. Proporcionan una forma sencilla y agradable de recopilar documentos de diferentes fuentes para su distribución. Sin embargo, una vez que un documento está en formato PDF, recuperar esa información en un formato utilizable es una pesadilla. Si intentamos copiar y pegar una tabla de datos de PDF a Excel, simplemente no se formatea como se esperaba. Entonces, en esta publicación, veremos cómo copiar una tabla de PDF a Excel.
Los PDF no nacen iguales
La información pegada se mostrará en Excel de manera diferente según cómo se creó el PDF. En mi experiencia, los datos pegados se mostrarán como uno de los siguientes:
- Una lista de valores
- Una cadena de texto continua para cada línea.
- Una foto
Me encantaría ofrecerle la solución perfecta para obtener la tabla de datos PDF en Excel, sin embargo, no creo que exista. Si el pegado se muestra como una imagen, hasta donde yo sé, deberá recurrir a un tercero. -Software de terceros que contiene OCR. Si el pegado es una lista de valores o una cadena de texto continua, existen algunas soluciones posibles. Uno de estos debería funcionar, proporcionando resultados razonables y ahorrándole tiempo.
Aquí está nuestro archivo PDF de ejemplo:
Copie la tabla de PDF a Excel a través de Word
Excel es un programa de software diseñado para trabajar con tablas, mientras que Word está diseñado para trabajar con texto. Sin embargo, Word es realmente mejor para manejar tablas PDF.
- Copie la tabla del documento PDF.
- Pega la tabla en Word
- Copiar la tabla de Word
- Pega la tabla en Excel
Es posible que ahora tenga una tabla de datos perfecta en Excel. O tal vez, lo que es más probable, tenga una tabla que requiera algunos ajustes. Puede que no sea perfecto, pero aún está más cerca que lo que tenías antes.
Lista pegada: use VBA para formatear la lista
Si pegar en Excel es solo una lista de valores en una columna, podemos recurrir a VBA para obtener un poco de ayuda.
El código VBA a continuación recorrerá los datos seleccionados y recreará un diseño de tabla.
- Copie la tabla del documento PDF.
- Pega la tabla en Excel
- Seleccionar todas las celdas pegadas
- Ejecute la macro a continuación
Sub ConvertListToTable()'Define las variablesDim NoOfColumns As IntegerDim TargetRow As IntegerDim TargetCol As IntegerDim i As Integer'Establece los valores iniciales para las variables de dónde colocar la tablaTargetRow = Selection.RowTargetCol = Selection.Column'Establece la variable del número de columnas en la tablaNoOfColumns = 13'recorre cada celda en el rango seleccionadoFor i = 0 To Selection.Rows.Count - 1 'Cambiar el valor de la columna de destino TargetCol = TargetCol + 1 'Establece el valor de la celda de destino según nuestro Celda de origen Cells(TargetRow, TargetCol).Value = Cells(Selection.Row + i, Selection.Column).Value 'Restablece la columna de destino y cambia el valor de la fila de destino Si TargetCol = Selection.Column + 13 Entonces TargetRow = TargetRow + 1 TargetCol = Selección. Fin de columna IfNext iEnd Sub
Necesitaremos cambiar la siguiente línea para que sea igual al número de columnas de la tabla de origen; de lo contrario, los datos estarán en las columnas incorrectas.
Número de columnas = 13
Cadenas pegadas: use la funcionalidad de Excel para dividir la cadena
Si el pegado en Excel es una cadena de texto continua para cada línea, entonces puede usar la funcionalidad integrada de Excel para separar la cadena en columnas.
Datos: texto a columnas
Seleccione "Delimitado" en la ventana del Paso 1 del Asistente para convertir texto en columnas.
Haga clic en Siguiente
Seleccione "Espacio" en la ventana del Paso 2 del Asistente para convertir texto en columnas.
Haga clic en Siguiente
Haga clic en Finalizar
Si hay espacios entre palabras en los datos, lamentablemente se separará cada una de esas palabras en una celda diferente. Ahora tenemos una tabla en Excel que probablemente solo requiera algunos ajustes. Puede que no sea perfecta, pero aún está más cerca que la que teníamos antes.
Cadenas pegadas: use VBA para dividir la cadena
En lugar de utilizar la funcionalidad de Excel, podríamos utilizar el código VBA para lograr el mismo efecto.
- Copie la tabla del documento PDF.
- Pega la tabla en Excel
- Seleccionar todas las celdas pegadas
- Ejecute la macro a continuación
Sub PDFStringtoTable()Dim SplitString As VariantDim Rng As RangeDim Cell As RangeDim i As IntegerSet Rng = SelectionFor Each Cell In Rng SplitString = Split(Cell.Value, " ") For i = 0 To UBound(SplitString) - 1 Cell.Offset( 0, i + 1).Valor = SplitString(i) Siguiente iNext CellEnd Sub
Copia selectiva del PDF
Podemos aumentar las posibilidades de que nuestros datos se formatee correctamente si somos selectivos sobre qué partes del PDF copiar. No tenemos que seleccionar toda la tabla en el archivo PDF. Por ejemplo, si la primera columna de la tabla es una columna de descripción (tal vez con espacios entre las palabras), obtendremos mejores resultados seleccionando la primera columna, convirtiendo a Excel y luego convertir las otras columnas a Excel.
Para lograr esta copia selectiva, presione Ctrl+Alt mientras selecciona los datos en la tabla PDF.
¿Una solución perfecta?
Incluso he utilizado el conversor de PDF a Excel de Adobe, e incluso eso requiere muchos ajustes manuales. Por lo tanto, no creo que exista una solución perfecta para copiar una tabla de PDF a Excel. Pero es de esperar que una de estas soluciones le haya proporcionado una solución razonable y le haya ahorrado mucho tiempo al volver a introducir las claves.
Artículos Relacionados:
- Cómo guardar Excel como PDF con VBA (10 ejemplos)
- Cómo crear varios archivos PDF basados en una lista
Deja una respuesta