<h2>前景提要</h2><p><span>說(shuō)到Excel田轧,那么不可避免得要說(shuō)到Excel的公式了豺谈,在日常的Excel操作中,借助各種現(xiàn)成的Excel函數(shù)所形成的的公式册烈,能夠讓我們輕松的獲得很多我們想要的數(shù)據(jù)計(jì)算結(jié)果钮孵,但是方便的同時(shí)骂倘,也帶來(lái)了一些弊端。</span></p><p><span>比方說(shuō)公式?jīng)]有辦法隱藏巴席,一些比較關(guān)鍵性的數(shù)據(jù)历涝,我們寫在公式中,但是并不想讓其他人看到公式漾唉,從而逆推出來(lái)我們一些關(guān)鍵的參數(shù)睬关,比方說(shuō)工資比例分成等。</span></p><p><span>這里你可能會(huì)說(shuō)直接復(fù)制數(shù)據(jù)到另外一個(gè)表就可以了毡证,這樣雖然可以避免公式被看到,但是如果數(shù)據(jù)量過(guò)大的話蔫仙,復(fù)制粘貼也是一件很耗時(shí)的事情料睛,有沒(méi)有可能在工作表中隱藏這些公式,僅僅是展示公式的結(jié)果呢?</span></p><h2>場(chǎng)景說(shuō)明</h2><p><span>其實(shí)也不難恤煞,看看VBA如何來(lái)實(shí)現(xiàn)這樣的結(jié)果</span></p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/16158327-7bb8f21ee8edf056.png" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p/><p><span>這是我們今天模擬的場(chǎng)景屎勘,其中B列和C列都是有公式的,我們只要將鼠標(biāo)放在單元格中居扒,選中就可以看到公式了概漱。那么我們?nèi)绾坞[藏這些公式呢?</span></p><h2>代碼區(qū)</h2><p>Sub hidden_furmula()
Dim rng As Range
With ActiveSheet.UsedRange
Set rng = .SpecialCells(xlCellTypeFormulas)
.FormulaHidden = False
With rng
.FormulaHidden = True
End With
End With
ActiveSheet.Protect "111"
End Sub</p><p>看看效果</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/16158327-98655ac6bd97a5e4.gif" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>從上面的動(dòng)圖可以看出來(lái)喜喂,我們通過(guò)VBA代碼成功的實(shí)現(xiàn)了單元格公式的隱藏瓤摧,原來(lái)選中就可以看到的單元格公式,現(xiàn)在已經(jīng)看不到了玉吁,并且不影響單元格的計(jì)算數(shù)據(jù)照弥,從這個(gè)結(jié)果來(lái)看,代碼還是成功了进副。
</p><h2>代碼解析</h2><p><span>那么VBA到底是如何來(lái)實(shí)現(xiàn)這個(gè)功能的呢这揣?</span></p><p><span>之前就有關(guān)注過(guò)我的文章的小伙伴應(yīng)該有印象,在之前分享VBA第三系列的時(shí)候影斑,我們學(xué)習(xí)了如何實(shí)現(xiàn)工作薄的保護(hù)功能给赞,而今天我們恰恰是用到了這個(gè)功能,這也是為什么我一直強(qiáng)調(diào)的事情矫户,學(xué)好一些基礎(chǔ)知識(shí)片迅,能夠有很大的用處</span></p><p><span>來(lái)看代碼</span></p><p><span>當(dāng)然代碼中并不是一上來(lái)就選擇工作薄的保護(hù)的</span></p><p><span>首先我們需要得到當(dāng)前工作薄的使用公式的區(qū)域,因?yàn)楹竺嬉[藏公式吏垮,那么肯定要先找到這些區(qū)域了障涯。如何找到呢?</span></p><p><span>With ActiveSheet.UsedRange</span></p><p> Set rng = .SpecialCells(xlCellTypeFormulas)</p><p>End With</p><p><span>我們將含有公式的單元格統(tǒng)一賦值給變量rng</span></p><p><span>這里不好理解的話膳汪,我們可以打開(kāi)Excel唯蝶,按下CTRL+G,打開(kāi)定位窗體</span></p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/16158327-944fa8e8d08332e1.png" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div>會(huì)有一個(gè)按照公式來(lái)定位遗嗽,這里我們代碼實(shí)現(xiàn)的就是這樣的效果粘我,按照公式來(lái)定位,即獲取有公式的單元格<p/><p><span>這是一個(gè)固定的寫法痹换,大家直接記住就好征字。</span></p><p><span>找到了這些單元格之后,然后我們要取消整個(gè)工作薄中的公式隱藏娇豫,即</span></p><p><span>1.將整個(gè)工作薄的單元格公式隱藏先去掉</span></p><p><span>2.然后針對(duì)有公式的單元格執(zhí)行隱藏的操作</span></p><p>With ActiveSheet.UsedRange
Set rng = .SpecialCells(xlCellTypeFormulas) '獲取有公式的單元格區(qū)域
.FormulaHidden = False '取消當(dāng)前所有單元格的公式隱藏
With rng
.FormulaHidden = True '針對(duì)rng變量所在的區(qū)域匙姜,執(zhí)行單元格公式隱藏
End With
End With</p><p><span>加上注釋,大家一起看著來(lái)理解下</span></p><p><span>首先為了程序的順利冯痢,我們直接取消當(dāng)前區(qū)域可能存在的隱藏單元格公式的操作氮昧,將公式可見(jiàn)化</span></p><p><span>然后將上面得到的rng這個(gè)區(qū)域的單元格內(nèi)的公式執(zhí)行隱藏操作</span></p><p><span>rng.FormulaHidden = True</span></p><p><span>就這么簡(jiǎn)單框杜。
到這里就算完了嗎?</span></p><p><span>不是的袖肥,之前我們不是說(shuō)還需要執(zhí)行工作薄的保護(hù)嘛咪辱?</span></p><p><span>沒(méi)錯(cuò),上面的操作完成了椎组,還不算結(jié)束油狂,還需要最后一步,保護(hù)工作薄</span></p><p><span>ActiveSheet.Protect "111"這樣才能夠最終實(shí)現(xiàn)我們的效果寸癌。</span></p><p><span>111就是工作薄保護(hù)的密碼专筷。密碼一定要牢記</span></p>
Excel VBA 8.37高手保護(hù)公式的方法-隱藏公式
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)枪眉,“玉大人捺檬,你說(shuō)我怎么就攤上這事∶惩” “怎么了堡纬?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蒿秦。 經(jīng)常有香客問(wèn)我烤镐,道長(zhǎng),這世上最難降的妖魔是什么棍鳖? 我笑而不...
- 正文 為了忘掉前任炮叶,我火速辦了婚禮,結(jié)果婚禮上渡处,老公的妹妹穿的比我還像新娘镜悉。我一直安慰自己,他們只是感情好医瘫,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布侣肄。 她就那樣靜靜地躺著,像睡著了一般醇份。 火紅的嫁衣襯著肌膚如雪茫孔。 梳的紋絲不亂的頭發(fā)上叮喳,一...
- 那天,我揣著相機(jī)與錄音缰贝,去河邊找鬼。 笑死畔濒,一個(gè)胖子當(dāng)著我的面吹牛剩晴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侵状,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼赞弥,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了趣兄?” 一聲冷哼從身側(cè)響起绽左,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎艇潭,沒(méi)想到半個(gè)月后拼窥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹋凝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年鲁纠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鳍寂。...
- 正文 年R本政府宣布鞍爱,位于F島的核電站鹃觉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏硬霍。R本人自食惡果不足惜帜慢,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唯卖。 院中可真熱鬧粱玲,春花似錦、人聲如沸拜轨。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)橄碾。三九已至卵沉,卻和暖如春颠锉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背史汗。 一陣腳步聲響...
- 正文 我出身青樓瓷蛙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親戈毒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子艰猬,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 簡(jiǎn)單復(fù)制-去重-做透視表 Sub 宏3()Application.ScreenUpdating = False '...
- 在面對(duì)大量數(shù)據(jù)時(shí),我們可以使用Excel的篩選功能埋市,濾出我們需要的信息冠桃。在本文中,我們先從Excel中的“篩選”命...
- (1) Option Explicit '強(qiáng)制對(duì)模塊內(nèi)所有變量進(jìn)行聲明 (2) Option Base 1 '指定...
- 本例為設(shè)置密碼窗口 (1) If Application.InputBox(“請(qǐng)輸入密碼:”) = 1234 Th...