Excel中批量显示其他单元格公式的几种方法

Excel中批量显示其他单元格公式的几种方法,第1张

如果公式较多,逐个复制公式内容到右侧单元格中十分繁琐,不妨试试下面的几种方法:方法一:用GET.CELL函数方法二:批量复制和替换这种方法适合于公式在连续的区域中。1.按快捷键Ctrl+`,显示工作表中的所有公式。`位于键盘上ESC键的贤�缟�钔�、数字1的左侧。注意该快捷键同时也是遨游浏览器(Maxthon)的快捷键,它会隐藏和显示遨游浏览器,所以在使用该快捷键时需先关闭遨游浏览器。2.选择包含公式的单元格进行复制,然后粘贴到所需区域。接着按Ctrl+H打开查找和替换对话框,将=替换为'=,'为英文单引号,单击全部替换按钮。3.关闭查找和替换对话框,再次按快捷键Ctrl+`将公式显示为值。这时由于粘贴后的公式前都添加了一个英文单引号,因而都会显示为公式内容而不是公式结果。方法三:自定义函数1.按Alt+F11打开VBA编辑器,单击菜单插入→模块,在右侧代码窗口中输入下列代码:Function GetFormula(cell As Range) As StringGetFormula = cell.FormulaEnd Function2.关闭VBA编辑器,返回工作表界面。在C12单元格中输入:=GetFormula(B12)

楼主会用自定义函数吗?会的话可以参考下面的步骤哦:

按alt+F11,点击插入-模块,将下方代码贴入窗口中

Function Getformula(rng As Range, Optional flag As Boolean = False)

If flag Then

    Getformula = rng.Formula

Else

    mystr = rng.Formula

    With CreateObject("vbscript.regexp")

        .Pattern = "[\w$]+\d+"

        .Global = True

        .MultiLine = False

        .ignorecase = True

        Set mymh = .Execute(mystr)

        For Each mhi In mymh

            .Pattern = "([^$A-Z]|^)" & Application.WorksheetFunction.Substitute(mhi, "$", "\$") & "(?=[^0-9]|$)"

            mystr = .Replace(mystr, "$1" & IIf(Range(mhi).Value = "", 0, Range(mhi).Value))

        Next

    End With

    Getformula = mystr

End If

End Function

然后回到表格中,假设你公式在A1单元格

在B1单元格输入如下公式:

=Getformula(A1,0)

应该就可以得到你要的结果

//Excel文档必须要有内容才可以预览

//打印功能是直接打印要进行更多的参数设置参照VBA帮助

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <Variants.hpp>

#include <Comobj.hpp>

#include <Utilcls.h>

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1

Variant excel_app,excel_book,excel_sheet,my_worksheet

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

try

{

excel_app=Variant::CreateObject("excel.application")//创建app对象

excel_book=excel_app.OlePropertyGet("workbooks")//创建book

excel_app.OlePropertySet("SheetsInNewWorkbook",(Variant)1)

excel_sheet=excel_book.OleFunction("add") //添加一页

my_worksheet=excel_sheet.OlePropertyGet("ActiveSheet")

excel_app.OlePropertySet("Visible",(Variant)true) //可见

}

catch (Exception &exception)

{

Application->MessageBox("调用EXCEL失败!可能你的电脑里没有EXCEL!!","提示信息",MB_OK)

return

}

//声明OLE调用

PropertyGet Range("Range")

Variant my_range

PropertySet Setvalue("value")

PropertySet SetFormula("Formula")

PropertyGet Getvalue("value")

PropertyGet GetFormula("Formula")

Function SaveAs("SaveAs")

AnsiString mytmp

int total=0

for (int i=1i<5++i)

{

Application->ProcessMessages()

for(int j=1j<5++j)

{

Range.ClearArgs()

Setvalue.ClearArgs()

mytmp=String(char(64+i))+IntToStr(j)

Range.ClearArgs()

Setvalue.ClearArgs()

my_range = my_worksheet.Exec(Range << mytmp )

my_range.Exec(Setvalue << "Hello!")

Range.ClearArgs()

Application->ProcessMessages()

}

}

try

{

excel_app.OlePropertyGet("ActiveWorkBook").OlePropertyGet("WorkSheets",1).OleFunction("Activate") //激活工作表

}

catch (Exception &exception)

{

MessageBox(Handle,"保存失败,请检查!!","错误",MB_OK)

return

}

excel_app.OlePropertyGet("ActiveWindow").OlePropertyGet("SelectedSheets").OleFunction("PrintPreview")//打印预览

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

excel_app.OlePropertyGet("ActiveWorkBook").OleFunction("Close")

excel_app.OleFunction("Quit")

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

excel_app.OlePropertyGet("ActiveWindow").OlePropertyGet("SelectedSheets").OleFunction("PrintOut")//打印

}

//---------------------------------------------------------------------------


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11383237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存