二維碼 購物車
部落窩在線教育歡迎您!

宏表函數(shù)的兩個(gè)新用法:批量建立分表和輔助打印設(shè)置

?

作者:E圖表述來源:部落窩教育發(fā)布時(shí)間:2020-06-17 16:26:51點(diǎn)擊:3066

分享到:
0
收藏    收藏人氣:1人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

哈嘍,大家好!今天我們分享兩個(gè)宏表函數(shù)新用法:直觀顯示出打印信息確保按需打印、根據(jù)總表批量建立分表。宏表函數(shù)是看不見的函數(shù),能實(shí)現(xiàn)一些工作表函數(shù)不能實(shí)現(xiàn)的功能。趕緊來看看吧~

 

【前言,有關(guān)“宏表函數(shù)”的幾點(diǎn)信息】

 

EXCEL的世界里,有一組特殊的函數(shù)存在,它不是EXCEL內(nèi)置工作表函數(shù),所以在功能區(qū)中使用“插入函數(shù)”時(shí),是看不見它的;

因?yàn)榭床灰?,所以此類函?shù)不能直接應(yīng)用到單元格中;

雖然看不見,但是它卻可以實(shí)現(xiàn)一些工作表函數(shù)不能實(shí)現(xiàn)的功能;

甚至在不會(huì)使用VBA的情況下,它實(shí)現(xiàn)了一些VBA的功能;

在使用這類函數(shù)的時(shí)候,一定要設(shè)置“宏安全性”才能夠被使用;

這類函數(shù)是VBA的前身,所以我們叫這類函數(shù)為“宏表函數(shù)”??!

 

【什么是宏表函數(shù)】

 

我們今天之所以來講解“宏表函數(shù)”,是因?yàn)樗哪承┕δ苁枪ぷ鞅砗瘮?shù)所不能實(shí)現(xiàn)的,在某些數(shù)據(jù)環(huán)境中,宏表函數(shù)可以給我們解決一些關(guān)鍵的問題。

 

那什么是宏表函數(shù)呢?在EXCEL的發(fā)展歷程中,因?yàn)槠溟_發(fā)的宗旨就是要實(shí)現(xiàn)“辦公自動(dòng)化”,在20世紀(jì)90年代就在WINDOWS 3.0階段,推出了EXCEL4.0宏表,這種宏表功能可以作用于EXCEL97-2003版本中。

 

由于微軟開發(fā)更新的速度相當(dāng)快(往往3年就會(huì)更新OFFICE版本),所以更多的XLM宏技術(shù)被引入到VBA中,所以在如今普遍學(xué)習(xí)EXCELOFFICE)的大趨勢下,XLM宏表(EXCEL4.0宏)還沒有被更多的人所熟悉,就被VBA所取代了。

 

 

而且VBA有著更加完善和方便的對象引用,也使得EXCEL4.0宏很少被問津??墒俏④泤s在歷代EXCEL版本中都保留了對EXCEL4.0的兼容性,所以我們現(xiàn)在依然可以在每一個(gè)高級版本中使用它,不得不說,有的時(shí)候,“宏表函數(shù)”在某些數(shù)據(jù)環(huán)境下有著不可忽視的作用,甚至更加方便與簡單。

 

如果我們使用了EXCEL4.0宏表函數(shù),就一定要像對待VBA一樣,設(shè)置宏安全性,才可以正常地使用它。設(shè)置如下:

 

 

如果使用了宏表函數(shù),在保存之前,EXCEL也會(huì)提示是否保存在啟用宏的工作薄。

 

 

【學(xué)習(xí)使用宏表函數(shù)】

 

正文之前再說一遍:宏表函數(shù),不能直接作用在單元格內(nèi),必須在自定義名稱中使用,如果直接在單元格使用,EXCEL將不識別(工作表中輸入的是工作表函數(shù))。

 

 

每一個(gè)宏表函數(shù),都有很多的返回功能,分別用阿拉伯?dāng)?shù)字代表功能指針,如GET.CELL8)、GET.DOCUMENT60),這種形式代表某一個(gè)返回值格式,可以說宏表函數(shù)的語法是唯一的,但是因?yàn)椤爸羔槨辈煌?,功能也不一樣?/span>

 

但有一點(diǎn)需要注意,宏表函數(shù)往往都是對目標(biāo)對象的現(xiàn)有屬性的返回值,而不是去改變這些屬性,所以很多的指針功能可能對于日常工作沒有太多的意義,我們就不用把每一個(gè)都講到了,今天只對其中一種比較實(shí)用,且網(wǎng)文不多見的宏表函數(shù)做一些介紹吧。

 

GET.DOCUMENT函數(shù)】

 

共有1~88個(gè)指針,舉幾個(gè)例子:

 

案例1:直觀的輔助打印說明


我們經(jīng)常會(huì)打印一些報(bào)表,也常設(shè)置一些打印的參數(shù),例如標(biāo)題行,打印區(qū)域等等。但是有的時(shí)候,在打印出來之后,才發(fā)現(xiàn)有的設(shè)置沒有到位或者遺漏了,這樣就造成工作的重復(fù)和資源的浪費(fèi)。那么我們此時(shí)可以用宏表函數(shù)來創(chuàng)建一個(gè)打印信息的輔助說明,直觀的給予打印前校對提供一些支持。如下所示:

 

 

制作方法:


STEP1CTRL+F3打開“名稱管理器”窗口,點(diǎn)擊“新建”按鈕,彈出“新建名稱”窗口。

 

 

STEP2在名稱文本框中輸入【紙張大小】,在引用位置文本框中輸入宏表函數(shù)【=GET.DOCUMENT(77)&T(NOW())】,點(diǎn)擊“確定”按鈕保存設(shè)置,如圖所示。

 

 

STEP3這個(gè)名稱就可以像工作表函數(shù)一樣,在單元格中使用函數(shù)輸入的方式【=紙張大小】,就可以返回相對應(yīng)的內(nèi)容。

 

注意

 

一般來說,宏表函數(shù)的運(yùn)行需要CTRL+ALT+F9的操作來更新,所以我們利用NOW()函數(shù)的易失性,使其在操作單元格或者激活工作表的時(shí)候更新。再用T函數(shù)將NOW函數(shù)的數(shù)值轉(zhuǎn)換成空文本即可。之所以我們約定俗成的使用NOW函數(shù),是因?yàn)?span>NOW函數(shù)運(yùn)行時(shí)產(chǎn)生的內(nèi)存較小,其實(shí)用其他易失函數(shù)也是可以的,但會(huì)增加無用的運(yùn)算,所以同學(xué)們也都“約定俗成”好了。

 

宏表函數(shù)的用法,基本就是上面的這三步內(nèi)容:1創(chuàng)建名稱,2選擇宏表函數(shù)和指針,3在工作表中使用【=剛才設(shè)置的名稱】的方式調(diào)用宏表函數(shù)的返回值。介于篇幅的問題,下面的案例,我們就只講功能指針的作用和案例用法,不再講制作過程。

 

以下是針對案例一所涉及的指針功能的設(shè)置以及說明:

 

 

GET.DOCUMENT82):如果在“頁面布局”-“頁面設(shè)置”的“工作表”標(biāo)簽中設(shè)置了【打印標(biāo)題】,此指針返回標(biāo)題區(qū)域(顯示的R6,代表第6行);

 

 

 

GET.DOCUMENT81):如果在“頁面設(shè)置”的“工作表”標(biāo)簽中設(shè)置了【打印區(qū)域】,此指針返回打印區(qū)域的地址;

 

 

GET.DOCUMENT77):返回設(shè)置的打印紙張的大小,一般默認(rèn)是A4紙張大小,但是如果是法律、文書等特殊紙張大小的,這個(gè)功能還是很方便的。在這里也說一句,此指針一共有7個(gè)返回結(jié)果,如下。

 

返回值

對應(yīng)紙張大小

1

Letter 8.5x11 in

2

Letter Small 8.5 x 11 in

5

Legal 8.5 x 14 in

9

A4 210 x 297 mm

10

A4 Small 210 x 297 mm

13

B5 182 x 257 mm

18

Note 8.5 x 11 in

 

這里我們可以使用VLOOKUP函數(shù),對于紙張大小的返回值進(jìn)行處理,使其返回對應(yīng)的紙張大小,如案例中B1單元格函數(shù)改寫成:

 

=VLOOKUP(--紙張大小,{1,"Letter 8.5x11in";2,"Letter Small8.5x11in";5,"Legal 8.5x14in";9,"A4 210x297mm";10,"A4 Small210x297mm";13,"B5 182x257mm";18,"Note 8.5x11in"},2,0)

 

紙張大小的名稱前面加上了{--}減負(fù)函數(shù),是因?yàn)槲覀兪褂煤瓯砗瘮?shù)時(shí)候用了T(NOW()),返回值會(huì)變成文本,所以需要用減負(fù)函數(shù)再轉(zhuǎn)換成數(shù)值。

 

 

GET.DOCUMENT50):當(dāng)前的打印設(shè)置條件下,打印的總頁數(shù)。

 

案例2:批量建立分表

 

往常的文章中,有很多都是用分表建立總表的教學(xué)。今天我們利用總表,通過宏表函數(shù)來建立分表。例如,很多公司都會(huì)在固定的時(shí)間周期內(nèi),給供應(yīng)商或者經(jīng)銷商發(fā)送《詢證函》,作為當(dāng)前應(yīng)收款或者應(yīng)付款的回執(zhí)憑證。如下表所示:

 

 

模板的樣式如下:

 

 

制作方法:


STEP1創(chuàng)建模板表,涉及宏表函數(shù)如下。

 

 

GET.DOCUMENT88):返回當(dāng)前工作薄名稱,格式為:工作簿名稱.xlsm。

 

 

GET.DOCUMENT76):返回活動(dòng)工作表的名稱,格式為:[工作簿名稱.xlsm]工作表名稱。

 

STEP2編寫《詢證函》模板。

 

然后在C4單元格輸入函數(shù)【=SUBSTITUTE(活動(dòng)表名,"["&工作薄名&"]","")】,利用SUBSTITUTE函數(shù)替換[工作簿名稱.xlsm] 的部分,得到活動(dòng)工作表的名稱;

 

E10單元格中輸入函數(shù)【=VLOOKUP($C$4,目錄!B:E,2,0)】,引用對應(yīng)的金額;

 

E11單元格中輸入函數(shù)【=TEXT(E10,"[dbnum2]")】,輸出大寫金額。

 

E12、E13;E14E15單元格函數(shù)同理,用法比較常規(guī),就不做解釋了。

 

STEP3按照供應(yīng)商或者銷售商名稱作為工作表名稱建立分表。

 

STEP4全選《模板》工作表的內(nèi)容,復(fù)制,再結(jié)合CTRL鍵,復(fù)選除《目錄》《模板》以外的工作表,按CTRL+V粘貼,完成制作,此時(shí)每一個(gè)分表就建立好了。

 

按住CTRL鍵,復(fù)選工作表之后,可以在復(fù)選的狀態(tài)下,批量調(diào)整頁邊距等頁面設(shè)置,也可以批量打印,上面的這個(gè)方法可以大量的節(jié)省制表過程,提高效率。

 

 

【編后語】

 

今天就給大家“扒出來”兩個(gè)宏表函數(shù)新用法的思路,宏表函數(shù)還有很多內(nèi)容,有的時(shí)候需要不同的宏表函數(shù)結(jié)合使用,或是結(jié)合工作表函數(shù)一起使用,這些都會(huì)產(chǎn)生神奇的效果,如果同學(xué)們對這類函數(shù)的另類效果有興趣,那就留言告訴我們,部落窩會(huì)繼續(xù)對它們“深扒”。

 

本文配套的練習(xí)課件請加入QQ群:1043683754下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號,可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

打印的妙招①《5條私藏獨(dú)門絕技,10秒解決Excel計(jì)算不一致打印不全等難題

打印的妙招②解決常見的Excel打印難事兒

打印的妙招③做表、打印表有被表頭為難過?這8招,搞定excel所有表頭問題

打印的妙招④你遇到的那些Excel打印問題都在這兒了