有时我们需要把指定的单元格或区域中内容导出的Word,同时希望把公式也添加到Word中。方便编写文档下面自定义VBA函数代码可以实现这个功能,可以将选择的单元格或区域中的公式内容添加到Word中,方便打印。
在VBE模块中添加以下代码,按F5或者运行此代码即可
PublicSubPrintFormulasToWord()
DimCntAsString
DimCAsRange
DimWordObjAsWord.Application
DimHasArrAsBoolean
OnErrorResumeNext
err.Number=0
SetWordObj=GetObject(,"Word.Application")
Iferr.Number=429Then
SetWordObj=CreateObject("Word.Application")
err.Number=0
EndIf
WordObj.Visible=True
WordObj.Documents.Add
WithWordObj.Selection
.Font.Name="CourierNew"
.TypeText"工作表名称:"+ActiveSheet.Name
.TypeParagraph
.TypeText"单元格:"+Selection.Cells(1,1).Address(False,False,xlA1)&"to"&Selection.Cells(Selection.Rows.count,Selection.Columns.count).Address(False,False,xlA1)
.TypeParagraph
.TypeParagraph
EndWith
ForEachCInSelection
HasArr=C.HasArray
Cnt=C.Formula
IfHasArrThen
Cnt="{"+Cnt+"}"
EndIf
IfCnt""Then
WithWordObj.Selection
.Font.Bold=True
.TypeTextC.Address(False,False,xlA1)&":"
.Font.Bold=False
.TypeTextCnt
.TypeParagraph
.TypeParagraph
EndWith
EndIf
NextC
MsgBox"已完成将指定单元格公式打印到Word中。",,"打印公式到Word"
EndSub
注意:需要单击菜单“工具→引用”,引用“Microsoft Word 14.0 Object Library ”库
1512969490603305.png
导出效果图
1512969502754562.png
|