如何在Excel實現採用星星符號評級的功能?

就像APP store的打分功能一樣,在某單元格里默認有一至五顆星(空心),滑鼠點擊到第四顆星後,前四顆即變成實心


如果限定在單個單元格內,可以藉助API函數用vba來完成。我們可以利用api函數求得當前單元格的位置和當前滑鼠的位置,還有單元格的寬度,通過這些數據,可以很容易判斷滑鼠在單元格中的相對位置,進而判斷我們選擇了哪個星星。
該功能在一些諮詢意見表、調查表等中,有一定的實際意義。
相關案例請參考附件。
評分.xlsm_免費高速下載&<部份代碼參考了網上相關資源&>

-----------------------------------------------------


應該無法實現
但可以用變通的方法,比如:
用公式,假設在A1單元格輸入分數(1-5分):
=LOOKUP(A1,{1,2,3,4,5},{"☆☆☆☆","☆☆☆","☆☆","☆",""})

用VBA,使用Change或Select事件,
Change事件:假設在A1-E1單元格分別輸入或☆,只要某單元格變化,就將前面的單元格的變為,後面的變為☆。
Select事件:選擇某單元格時自動前本單元格之前的單元格變為,之後的變為☆。

期待知友更好的答案。
---------
3.17更正:實際上可以實現,張小新用很巧妙的方法實現了,詳見張小新的答案。


除了vlookup函數,可以用repeat函數。
假設在a1輸入評分1-5
=repeat("",a1)repeat("☆",5-a1)
簡潔一點


以我的能力在EXCEL裡面是做不到的,可能其它人能做到,謝謝邀請


我用的小白辦法,不能實現像題主說的點到哪顆星前面星星duang都變實心的特效,但是可以達到用星星評分的目的,簡單粗暴好操作。

就是如圖該列每個單元格下拉以後有不同星級的選項,直接選擇就闊以了。

實現方法:
如何在Excel的單元格中加入下拉選項(http://jingyan.baidu.com/article/03b2f78c4ba8a05ea237ae95.html)
最後一步中「序列」中填「☆☆☆☆☆,☆☆☆☆,☆☆☆,☆☆,☆,」好了。
雖然不夠高大上555555


REPET函數,按給定頻率重複給定內容


做得到啊,樓上已經快接近真相啦. 用vba寫宏,當雙擊單元格的時候, 首先判斷下是第幾顆星的位置,之後將前後的星改成指定的空心或實心的樣式. 但是啊,還不如用前面的lookup來的快捷


推薦閱讀:

excel數據透視表分組?
如何處理EXCEL中存在大量合併單元格的跨頁斷行問題?
如何將多個sheet的同一列數據快速放到一張表,並以sheet名作為相應每一列的名字?

TAG:MicrosoftExcel | Excel使用 | Excel圖表繪製 | Excel編程 | Excel技巧 |