XL2000: Cómo crear tabla dinámica desde Word

Seleccione idioma Seleccione idioma
Id. de artículo: 213697 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Este artículo incluye un ejemplo de Microsoft Visual Basic para aplicaciones de macro. La macro utiliza Automatización para crear una tabla dinámica en Microsoft Excel y devuelve los datos a Microsoft Word.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.
El siguiente ejemplo, cuando se ejecuta desde Microsoft Word crea una tabla dinámica de Microsoft Excel, inserta los datos en un nuevo documento de Microsoft Word y, a continuación, organiza los datos en un formato de tabla. Si la función GetObject devuelve el error 429, en el ejemplo se utiliza la función CreateObject para iniciar una nueva sesión de Microsoft Excel. Si se utiliza la función CreateObject , en el ejemplo utiliza el método Quit para cerrar la nueva instancia de Microsoft Excel. Para utilizar este ejemplo, siga estos pasos:
  1. Crear una hoja de cálculo en Microsoft Excel con datos similar al siguiente:
          A1: Region    B1: Office    C1: Sales
          A2: North     B2: Alpha     C2: 100
          A3: East      B3: Beta      C3: 120
          A4: West      B4: Alpha     C4: 130
          A5: North     B5: Beta      C5: 100
          A6: East      B6: Beta      C6: 140
          A7: West      B7: Alpha     C7: 110
    						

    A continuación, guarde el libro en la carpeta de documentos con el nombre Sales.xls.
  2. En Microsoft Word, elija macro en el menú Herramientas y haga clic en Editor de Visual Basic . En el menú Insertar , haga clic en módulo y escriba la siguiente macro:
          Sub Create_PivotTable()
    
             Dim xlObj As Excel.Application
             Err.Number = 0
    
             On Error GoTo notLoaded
             Set xlObj = GetObject(, "Excel.Application.9")
    
             notLoaded:
             If Err.Number = 429 Then
                Set xlObj = CreateObject("Excel.Application.9")
                theError = Err.Number
             End If
             xlObj.Visible = True
             xlObj.Workbooks.Open FileName:="C:\My Documents\Sales.xls"
    
             With xlObj
                .Range("A1").Select
                .ActiveSheet.PivotTableWizard SourceType:=xlDatabase, _
                 SourceData:= "Sheet1!R1C1:R5C3", TableDestination:="", _
                 TableName:="PivotTable1"
                .ActiveSheet.PivotTables("PivotTable1").AddFields _
                 RowFields:="Office", ColumnFields:="Region"
                .ActiveSheet.PivotTables("PivotTable1"). _
                 PivotFields("Sales").Orientation = xlDataField
             End With
    
             xlObj.ActiveSheet.UsedRange.Select
             Documents.Add
    
             With xlObj
                For Each newCell In .Selection
                   With Selection
                      .InsertAfter Text:=newCell.Value
                      mCount = mCount + 1
                      If mCount Mod xlObj.Selection.Columns.Count = 0 Then
                         .InsertAfter Text:=vbCr
                      Else
                         .InsertAfter Text:=vbTab
                      End If
                   End With
                Next newCell
    
                ActiveDocument.Range.ConvertToTable _
                Separator:=wdSeparateByTabs
                ActiveDocument.Tables(1).AutoFormat _
                Format:=wdTableFormatClassic1
             End With
    
             If theError = 429 Then
                 xlObj.DisplayAlerts = False
                 xlObj.Quit
             Endif
             Set xlObj = Nothing
    
          End Sub
    					

  3. En el menú Herramientas , haga clic en referencias . Haga clic para activar la casilla Biblioteca de objetos de Microsoft Excel 9.0 . Haga clic en Aceptar .

    Este paso permite utilizar objetos de Microsoft Excel, las propiedades y métodos en macros de Visual Basic.
  4. En el menú archivo , haga clic en Cerrar y volver a Microsoft Word. Para ejecutar la macro, elija macro en el menú Herramientas y haga clic en macros . Haga clic en Create_PivotTable y haga clic en Ejecutar .

Referencias

Para obtener más información sobre la automatización, en el Editor de Visual Basic, haga clic en Ayuda de Microsoft Visual Basic en el menú Ayuda , escriba Trabajar en aplicaciones en el Ayudante de Office o el Asistente para Ayuda y, a continuación, haga clic en Buscar para ver el tema.

Propiedades

Id. de artículo: 213697 - Última revisión: miércoles, 11 de octubre de 2006 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft Excel 2000 Standard Edition
Palabras clave: 
kbmt kbdtacode kbhowto kbinterop kbprogramming KB213697 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 213697

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com