Похожие вопросы

Возможно ли это в Excel? (VBA)
Добавление вертикальной линии в максимальной точке графика excel
Суммировать два столбца сводной таблицы в третий столбец
Как объединить данные из нескольких файлов Excel в один файл Excel или базу данных Access?
Копирование данных из другой книги Excel на основе соответствующего идентификатора
Копирование и вставка без разблокировки защиты в excel
Ожидается ли такое поведение Excel с большим шестнадцатеричным числом?
Удаление дубликатов на основе пустой ячейки
Как сделать дату гггг-ММ-ДД (ISO-8601) по умолчанию в Excel?
Как выполнить надстройку Excel 2010?
В Excel, сделать переключатель активным / неактивным в зависимости от значения ячейки
Сводную таблицу не могу открыть средний ранг
Все, что я хочу сделать, это Диаграмма 2 столбца в Excel
(Индекс вне диапазона) Ошибка 9
Как написать запрос в Microsoft SQL Server Management Studio, а затем использовать этот запрос в Excel

Любой способ стиль связанной таблицы Excel в PowerPoint?

У меня есть связанная таблица в моем PPT (PowerPoint 2010), которая является частью листа Excel 2010. Когда я обновляю данные в Excel, таблица автоматически обновляется в PPT, который работает нормально и как ожидалось.

теперь проблема в том, как стиль этой связанной таблицы с помощью PowerPoint 2010 встроенные стили. Поэтому, когда вы вставляете обычную таблицу PowerPoint, у вас есть две вкладки на ленте под инструменты Таблицы: дизайн и макет. На вкладке Конструктор в разделе стили таблиц, вы смогите быстро ввести таблицу в моду используя пук встроенных стилей таблицы.

однако, когда у меня есть связанная таблица из Excel, у меня нет этих опций: когда я выбираю таблицу, только одна вкладка появляется под Table Tools на ленте, которая является Format. И я не могу использовать любой из встроенных стилей таблиц в PowerPoint. Это делает связанную таблицу несогласованной с точки зрения стиля по сравнению с другими обычными таблицами PowerPoint.

5
задан Mureinik
источник

3 ответов

к сожалению, встроенные стили доступны только для таблиц стилей, созданных в PowerPoint, а не связаны или вставлены.

kludge, которые могут или не могут дать приемлемые результаты для вас было бы создать пустую таблицу PowerPoint в стиле по вашему выбору, а затем наложить связанную таблицу Excel. Немного назад и вперед регулировка между Excel и PowerPoint может произвести разумное совмещение, совпадение шрифта и т. д. График показывает результаты очень быстро макет, который я сделал.

enter image description here

1
отвечен chuff 2012-12-30 04:59:01
источник

насчет содержания в целом, что PowerPoint не имеет понятия, что это; он имеет представление о содержании (передал ему приложения, которые производят контент ... Excel в данном случае) и ссылку на файл, содержащий фактические данные. Все, что он может сделать для вас, если вы хотите редактировать содержимое, чтобы активировать его в исходном приложении.

для начала лучше всего отформатировать таблицу в Excel.

Если вы пытаетесь соответствовать определенному PPT стиль, создайте таблицу в PPT, скопируйте / вставьте ее в Excel. Сначала необходимо заполнить все ячейки текстом, иначе Excel применит форматирование текста по умолчанию к пустым ячейкам. При необходимости отрегулируйте ширину столбцов, добавьте реальные данные и сохраните файл. Затем ссылка из него обратно в PPT.

1
отвечен Steve Rindsberg 2012-12-30 17:12:28
источник

Спасибо за ответы. Но, мне кажется, что лучшим решением по-прежнему является стиль таблицы в PPT и редактирование данных в Excel. Поэтому я написал небольшой фрагмент кода VBA для передачи данных из Excel в PPT, и он отлично работает для меня.

вот код:

Option Explicit
Option Base 1

Const WB_FINANCIALS As String = "\CPMR Financials.xlsm"
Const WS_SALES As String = "Sales Forecast"

Const SLIDE_SALES_FORECAST As String = "SalesForecast"

Const TABLE_SALES_FORECAST As String = "TableSalesForecast"

Const R_CPMA_COM_SALES As String = "cpma_complete_sales"
Const R_CPMA_LARGE_ATC_SALES As String = "cpma_large_atc_sales"
Const R_CPMA_REGULAR_ATC_SALES As String = "cpma_regular_atc_sales"
Const R_CPMA_REPORTS_SALES As String = "cpma_reports_sales"
Const R_RXR_REPORTS_SALES As String = "rxr_reports_sales"
Const R_TOTAL_SALES As String = "total_sales"


Sub ReadFinancialsBook()
    Dim XLApp As Excel.Application
    Dim FBook As Excel.Workbook
    Dim SalesForecast As Excel.Worksheet

    Set XLApp = Excel.Application
    Set FBook = XLApp.workbooks.Open(FileName:=ActivePresentation.Path + WB_FINANCIALS, ReadOnly:=True)
    Set SalesForecast = FBook.Worksheets(WS_SALES)

    Dim PPT As Presentation
    Dim SalesSlide As Slide

    Set PPT = ActivePresentation
    Set SalesSlide = PPT.Slides(SLIDE_SALES_FORECAST)
    Call ReadSalesForecast(SalesSlide, SalesForecast)

    Set SalesSlide = Nothing
    Set PPT = Nothing

    FBook.Close
    Set SalesForecast = Nothing
    Set FBook = Nothing
    Set XLApp = Nothing
End Sub

Private Sub ReadSalesForecast(S As Slide, WS As Excel.Worksheet)
    Dim T As Table
    Set T = S.Shapes(TABLE_SALES_FORECAST).Table

    Call WriteWSRangeToTable(T, 2, 4, WS, R_CPMA_COM_SALES)
    Call WriteWSRangeToTable(T, 5, 4, WS, R_CPMA_LARGE_ATC_SALES)
    Call WriteWSRangeToTable(T, 8, 4, WS, R_CPMA_REGULAR_ATC_SALES)
    Call WriteWSRangeToTable(T, 11, 4, WS, R_CPMA_REPORTS_SALES)
    Call WriteWSRangeToTable(T, 14, 4, WS, R_RXR_REPORTS_SALES)
    Call WriteWSRangeToTable(T, 17, 4, WS, R_TOTAL_SALES)

    Set T = Nothing
End Sub

Private Sub WriteWSRangeToTable(T As Table, row As Integer, col As Integer, WS As Excel.Worksheet, Name As String)
    Dim i, j, r, c As Integer
    Dim str As String

    r = WS.Range(Name).Rows.Count
    c = WS.Range(Name).Columns.Count

    For i = 1 To r
        For j = 1 To c
            str = CStr(WS.Range(Name).Cells(i, j))
            str = Format(str, "#,##0")
            T.Cell(row + i - 1, col + j - 1).Shape.TextFrame.TextRange.Text = str
        Next j
    Next i
End Sub
0
отвечен Tong Wang 2012-12-31 18:27:46
источник