日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

問:Excel擅長數(shù)據(jù)分析和處理,而Word擅長制作精美的報(bào)告。如果將兩者結(jié)合起來,在Word中獲取Excel數(shù)據(jù)來制作報(bào)表文檔,那一定非常酷!通常,我們首先在Excel中分析和處理好數(shù)據(jù),然后將結(jié)果導(dǎo)出到Word中,通過排版制作出一份有價(jià)值的精美文檔。那么,如何使用VBA將Excel數(shù)據(jù)自動(dòng)放置在Word文檔中呢?

答:我們先談?wù)剬?shí)現(xiàn)思路,然后以不同情形下的實(shí)例來說明。

技術(shù)路線

1. 創(chuàng)建Word模板,用來作為數(shù)據(jù)分析結(jié)果的發(fā)布平臺。在Word模板中,在每個(gè)插入點(diǎn)處定義書簽。當(dāng)然,對于只導(dǎo)入一兩個(gè)數(shù)據(jù)表來說,這一步可選。

2. 使用VBA,將Excel中的數(shù)據(jù)復(fù)制到Word文檔,從而形成一份報(bào)表文檔。

示例1:將Excel數(shù)據(jù)區(qū)域自動(dòng)復(fù)制到Word文檔

如下圖所示,需要將工作表Data中單元格區(qū)域A1:E8的數(shù)據(jù)自動(dòng)導(dǎo)出到Word文檔中。

在工作表中,定義了一個(gè)名為rngBookMarks的書簽區(qū)域I20:J22,與Word模板中的書簽相對應(yīng)。將單元格J20命名為ptrDivName,在程序中更新該單元格的內(nèi)容。并且,該單元格內(nèi)容更新后,使用VLookup函數(shù)來更新單元格J21和J22中的內(nèi)容。

創(chuàng)建一個(gè)Word模板,在報(bào)告中需要更改的3個(gè)位置分別定義3個(gè)書簽,如下圖所示,書簽與Excel單元格中的內(nèi)容相一致。

運(yùn)行代碼后,每基于Word模板生成一份文檔,都會(huì)修改模板中相應(yīng)書簽位置的內(nèi)容,以生成具體的文檔。

代碼如下:

SubWordGenerateDivisionSummaries()

Dim wrdApp As Word.Application

Dim wrdDoc As Word.Document

Dim wrdrngBM As Word.Range

Dim piDiv As Excel.PivotItem

Dim rngBookmark As Excel.Range

Dim sPath As String

Dim sBookmarkName As String

On Error GoTo ErrorHandler

‘開啟Word

Set wrdApp =CreateObject(“Word.Application”)

sPath = ThisWorkbook.Path &”\”

‘基于模板創(chuàng)建新的文檔

Set wrdDoc =wrdApp.Documents.Add(Template:=sPath & “SalaryReport.dot”)

‘遍歷數(shù)據(jù)透視表中的每個(gè)部門

For Each piDiv InwksData.PivotTables(1).PivotFields(“Division”).PivotItems

‘填充部門名單元格

wksData.Range(“ptrDivName”) =piDiv.Value

‘重新計(jì)算工作表來更新部門的結(jié)果

wksData.Calculate

‘從工作表中取數(shù)據(jù)填充模板中的書簽

For Each rngBookmark InwksData.Range(“rngBookmarks”).Rows

‘獲取書簽名

sBookmarkName =rngBookmark.Cells(1, 1).Value

‘獲取書簽跨越的Word區(qū)域

Set wrdrngBM =wrdDoc.Bookmarks(sBookmarkName).Range

‘設(shè)置區(qū)域中的文本(這將刪除書簽)

wrdrngBM.Text =rngBookmark.Cells(1, 2).Text

‘重新創(chuàng)建書簽以便下次循環(huán)

wrdDoc.Bookmarks.Add sBookmarkName,wrdrngBM

Next rngBookmark

‘更新可能與書簽相鏈接的字段

wrdDoc.Fields.Update

‘保存填充的文檔

wrdDoc.SaveAs sPath & “SalaryResults – ” & piDiv.Value & “.doc”

Next piDiv

‘關(guān)閉Word文檔

wrdDoc.Close

Set wrdDoc = Nothing

‘關(guān)閉Word

wrdApp.Quit False

Set wrdApp = Nothing

MsgBox “Division Summaries GeneratedOK.”

Exit Sub

ErrorHandler:

‘顯示錯(cuò)誤號和錯(cuò)誤描述

‘并且在標(biāo)題欄中注明程序

MsgBox “Error ” & Err.Number& vbLf & Err.Description, _

vbCritical, “Routine:WordGenerateDivisionSummaries”

End Sub

附:Word對象簡介

Application

Word應(yīng)用程序本身,通過該對象創(chuàng)建、打開和保存Word文檔。

Document

Word文檔對象

Bookmark

書簽,包含在Document、Bookmarks集合中。要在書簽位置放置內(nèi)容,只須指定其Range屬性的文本內(nèi)容。若更改了書簽的文本內(nèi)容,則刪除該書簽。

Range

文檔中某段連續(xù)區(qū)域。

分享到:
標(biāo)簽:excel使用技巧 excel入門教程 excel表格的公式 Excel教程
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定